maya小白菜 2024-05-09 11:24 采纳率: 20%
浏览 38

mixamo的动作绑定到maya模型上不能调整方向等

mixamo的动作绑定到自己的模型上有没有可以控制他整体运动或者旋转的方法
尝试了在胯关节加约束的方法 可以前后左右移动但是不能旋转人物的方向

  • 写回答

2条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-05-09 13:25
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    回答: 对于使用Mixamo中的动作绑定到自己模型上后,需要控制模型的整体运动或旋转,下面给出两种常用的方法。 方法一:使用空物体作为主控制器 通过在模型上加一个空物体,将Mixamo中的动作绑定到这个空物体上,然后通过控制空物体来控制模型的整体运动或旋转。 案例:
    1. 将Mixamo中的动作绑定到自己的模型上
    2. 在模型的父节点上添加一个空物体作为控制器
    3. 将Mixamo中的动作绑定到空物体上
    4. 通过控制空物体来控制模型的整体运动或旋转 代码示例:
    using UnityEngine;
    public class ModelController : MonoBehaviour
    {
       public GameObject model;
       void Update()
       {
           float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 10.0f;
           float rotateY = Input.GetAxis("Horizontal") * Time.deltaTime * 50.0f;
           // 控制模型整体运动或旋转
           model.transform.Translate(0, 0, moveZ);
           model.transform.Rotate(0, rotateY, 0);
       }
    }
    

    方法二:使用插件 可以使用Unity中的插件来进行控制,例如Cinemachine插件可以用来控制相机和对象的跟踪运动,包括运动、旋转、缩放等。 案例: 1. 导入Cinemachine插件 2. 设置相机跟随模型 3. 通过Cinemachine插件的控制来控制模型的整体运动或旋转 代码示例:

    using UnityEngine;
    using Cinemachine;
    public class ModelController : MonoBehaviour
    {
        public CinemachineVirtualCamera vCam;
        void Update()
        {
            float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * 10.0f;
            float rotateY = Input.GetAxis("Horizontal") * Time.deltaTime * 50.0f;
            // 控制模型整体运动或旋转
            transform.Translate(0, 0, moveZ);
            transform.Rotate(0, rotateY, 0);
            // 控制相机跟随模型
            vCam.Follow = transform;
        }
    }
    

    总结: 以上两种方法都可以用来控制Mixamo中的动作绑定到自己的模型上,使模型实现整体运动或旋转。如果需要更多控制权限,可以尝试使用脚本代码来实现控制。

    评论

报告相同问题?

问题事件

  • 修改了问题 5月9日
  • 创建了问题 5月9日