Unity中动画覆盖骨骼旋转:如何同时实现瞄准与动画播放?
问题:Unity动画覆盖脚本对骨骼的旋转控制
我正在开发一款第三人称游戏,场景中的角色Animator组件带有动画,初始时通过单帧的“aiming”动画让角色静止瞄准某点。我给角色挂载了TestRotator脚本,意图通过鼠标旋转“spin”骨骼实现瞄准,但运行后仅能看到角色手部抽搐——“aiming”动画覆盖了脚本对“spin”骨骼的旋转结果。我还希望添加开枪后坐力动画,但所有动画都会覆盖脚本的旋转效果。
UPDATE 1
移除了所有动画,仅保留无动画的默认状态,但脚本仍无法旋转“spin”骨骼,Animator依然会覆盖脚本的修改。
UPDATE 2
制作了简易手部实验场景,发现未被动画影响的骨骼可被脚本正常旋转,结论是脚本控制的骨骼不应受动画影响。但不清楚如何移除FBX导入动画对目标骨骼的影响(Unity对动画对象变换有专属术语),也想了解Unity动画术语的相关资料。
附脚本代码
using 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); } }
内容的提问来源于stack exchange,提问作者cyberdev
相关产品推荐
相关产品推荐

