关于unity3d的模型动作问题

2025-04-29 14:31:03
推荐回答(1个)
回答1:

这两个问题都可以用遮罩来处理了。
对于问题1:新建一个动画层1,设定weight为1,然后新建一个avatar mask将不希望动的部分取消掉(在这里就是移动的时候的两条腿保持层0的移动动画)
对于问题2:还是新建一个动画层,设定为weight为1,然后新建一个avatar mask将不希望动的部分取消掉,勾选IK(反向动力学),然后用代码lookat鼠标位置就可以了。
//这个算是最简单的代码示例,应该还是比较适合你这个游戏的。
void OnAnimatorIK(int layer)
{
if (layer == 1) {
Vector3 possition = Camera.main.ScreenToWorldPoint (new Vector3(Input.mousePosition.x,Input.mousePosition.y,Camera.main.transform.position.z));
theAnimator.SetLookAtPosition (possition);
theAnimator.SetLookAtWeight (0.65f,0.9f,1f,1f,0.6f);
}
}