use*_*247 8 animation mesh three.js
我正在使用THREE.JS制作一个3D项目,我想要制作一个像角色一样简单的魔兽世界.
为此,我从Blender(带有骨骼)导出一个,然后使用SkinnedMesh类使用THREE.JS渲染它.
我尝试了一切使网格的手臂移动,但我无法弄清楚如何做到这一点.我尝试更改旋转,位置,矩阵以及将所有标志设置为true(如matrixWorldNeedsUpdate但手臂没有移动).
这是一个示例代码:
var meshBody = new THREE.SkinnedMesh( geometry, materialTexture );
...
animate = function(){
meshBody.bones[3].rotation.z += 0.1
meshBody.bones[3].matrixAutoUpdate = true;
meshBody.bones[3].matrixWorldNeedsUpdate = true;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
构建网格时,请确保将材质的蒙皮属性设置为true,例如:
mesh = new THREE.SkinnedMesh (geometry,
new THREE.MeshBasicMaterial ({color: 0xaaaa00, skinning: true})
);
Run Code Online (Sandbox Code Playgroud)