像这样,其他动作都好好的,这个动作会退后半步,怎么让它对齐 求帮忙
检查你的动画到底是从哪一帧开始的
public static void ReplaceMotionInLocalFolder(AnimatorState state)
{
string name = state.motion.name;
if (GetLocalMotionFile(name) != null)
{
state.motion = GetLocalMotionFile(name);
}
}
这里是更换普通的动画片段,只需要把普通的名字传进去,更换一下就是可以的了。
同时看下 GetLocalMotionFile 函数
//animationClips 为动画片段
static Dictionary<string, string> animationClips = new Dictionary<string, string>();
public static Motion GetLocalMotionFile(string name)
{
if (animationClips.ContainsKey(name.ToLower()))
{
AnimationClip mo = AssetDatabase.LoadAssetAtPath(animationClips[name.ToLower()], typeof(AnimationClip)) as AnimationClip;
if (mo != null)
{
return mo;
}
else
{
Debug.LogWarning("no this name clip in this folder" + name);
}
}
else
{
Debug.LogWarning("no this name clip in this folder" + name);
}
return null;
}