unity3d Unity中的动画和瞄准

d6kp6zgx  于 2023-04-21  发布在  其他
关注(0)|答案(3)|浏览(117)

我正在做一个第三人称游戏。在舞台上有一个角色在Animator组件上有动画。当开始游戏时,角色站着不动,瞄准某个点。这是用一个只有一帧的“瞄准”动画完成的。此外,一个脚本挂在角色上,它应该执行瞄准。使用UnityEngine;

public class TestRotator : MonoBehaviour
{
    [SerializeField] Transform spin;
    [SerializeField] Vector2 sensinivity = new Vector2(1, 1);

    void LateUpdate()
    {
        Vector2 axis;

        axis.x = Input.GetAxis("Mouse X");
        axis.y = Input.GetAxis("Mouse Y");

        spin.Rotate(axis.y * sensinivity.x, -axis.x * sensinivity.y, 0);

    }
}

即用鼠标旋转“旋转”骨骼.但由于在舞台上开始游戏,只能看到角色手部的抽搐.“瞄准”动画覆盖了“旋转”骨骼的旋转结果.如何让瞄准工作,动画也播放?例如我想在射击时添加一个反冲动画。但是任何动画都会覆盖“旋转”旋转的结果。我该如何解决这个问题?

rmbxnbpk

rmbxnbpk1#

如果你的动画器状态停留在默认的目标动画片段,你将无法控制骨骼,除非你禁用动画器。你所做的是创建一个空状态,所以在你播放初始的默认目标动画后,动画器转换到空状态,所以你可以控制旋转

qlfbtfca

qlfbtfca2#

我删除了所有动画,并保留了默认状态,没有任何动画。但脚本仍然无法旋转骨骼“旋转”。动画师仍然会覆盖脚本所做的更改。大家有什么想法?如何在启用Animator的情况下使脚本旋转骨骼?

cgvd09ve

cgvd09ve3#

用一只即兴的手做了一个实验场景。我将顶部动画化,并根据脚本旋转手。结果证明是正确的旋转。结论:使用脚本旋转的骨骼不应该受到动画的影响。但是,如果从fbx文件导入的动画在旋转的骨骼上的效果没有通过旋转,缩放和位置来指示,那么如何删除动画效果?因为Unity有自己的术语来指定动画对象的转换?我在哪里可以阅读Unity中的动画术语?

相关问题