单位具有一个SkinnedMeshRenderer
对象,该对象是受poseBlendValues
和shapeBlendValues
控制的蒙皮网格模型。现在,我有一个可以生成顺序poseBlendValues
和shapeBlendValues
的程序。我使用Unity5构建模型,并向该模型编写脚本。在脚本中,我使用自己的计算值通过SkinnedMeshRenderer
设置了SetBlendShapeWeight
对象。但是,模型不会按预期变形。谁能告诉我哪里出问题了?
这是我的一部分代码,即Start函数,脚本将通过fetchAllParms
从服务器接收参数,然后使用SetBlendShapeValues
设置模型的参数。 resetShapeParms()
和resetPoseParms()
只需将数组_shapeParms
和_poseParms
清除为零。 setShapeBlendValues()
和setPoseBlendValues()
只需用获取的值填充_shapeParms
和_poseParms
。当我单击Play
时,可以看到Inspector视图中的BlendShape参数已更改,但是模型确实按预期进行了点变形。
void Start()
{
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_shapeParms = new float[_numShapeParms];
_camParms = new float[_numCamParms];
_poseParms = new float[_numPoseParms];
resetShapeParms();
resetPoseParms();
fetchAllParms();
setShapeBlendValues();
setPoseBlendValues();
}