Unity3d 在没有其他参考对象的情况下,反向运动学是否可行?

Unity3d 在没有其他参考对象的情况下,反向运动学是否可行?,unity3d,Unity3d,我正在看这个教程: 在该教程中,他们通过设置要保持或查看的目标对象来更改手、头等的身体位置 在本项目中: 这个家伙访问BlenderAPI,直接设置几个骨骼的变换 在统一中也可以这样做吗?从传感器等获取数据时,我不需要任何帮助。我只是想了解unity中的等效API是什么,以便在运行时直接设置骨骼特定身体部位的方向。您可能正在寻找 从某些三维软件(如blender)导入模型时,它将具有SkinnedMeshRenderer组件 您还需要查看的是skindmeshRenderer.bones,它为您

我正在看这个教程:

在该教程中,他们通过设置要保持或查看的目标对象来更改手、头等的身体位置

在本项目中:

这个家伙访问BlenderAPI,直接设置几个骨骼的变换


在统一中也可以这样做吗?从传感器等获取数据时,我不需要任何帮助。我只是想了解unity中的等效API是什么,以便在运行时直接设置骨骼特定身体部位的方向。

您可能正在寻找

从某些三维软件(如blender)导入模型时,它将具有SkinnedMeshRenderer组件

您还需要查看的是
skindmeshRenderer.bones
,它为您提供了用于控制其姿势的骨骼阵列(作为
变换的阵列)。可以修改其元素,从而影响姿势。所以你可以这样做:

var bones = this.GetComponent<SkinnedMeshRenderer>().bones;
bones[0].localRotation = bones[0].localRotation *  Quaternion.Euler(0f, 45f, 0f);
var bones=this.GetComponent().bones;
bones[0]。localRotation=bones[0]。localRotation*四元数。Euler(0f,45f,0f);
随便玩玩,这是最好的观看方式

对于更高级的操作,您还可以使用
setBlendShapeView
/
getBlendShapeView
设置自己的骨骼阵列并指定其权重,但这可能比您需要的更多