You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:07:32