如何在 THREE.JS 中控制 GLB 模型的骨架?
How to get control over skeleton of a GLB model in THREE.JS?
我生成了头像,glb格式。但是当我渲染相同的东西时,手会伸出来。模型有骨架。但是我怎样才能接触到骨架,这样我就可以放下它的手或者让这个人坐在椅子上等等?我使用的技术是 THREE.js 和 react、react-three-fiber、react-three-drei 等
https://jsfiddle.net/bdmrg4oc/1/如果你想做更复杂的动作
(比如选址)我建议在像 blender 这样的动画程序中制作动画,然后导入它们
const loader = new THREE.GLTFLoader();
loader.load( 'https://threejs.org/examples/models/gltf/Soldier.glb', function ( gltf ) {
const model = gltf.scene;
rightArm = model.getObjectByName( 'mixamorigRightArm' );
scene.add( model );
} );
rightArm.rotation.z += Math.sin( t ) * 0.005;
我生成了头像,glb格式。但是当我渲染相同的东西时,手会伸出来。模型有骨架。但是我怎样才能接触到骨架,这样我就可以放下它的手或者让这个人坐在椅子上等等?我使用的技术是 THREE.js 和 react、react-three-fiber、react-three-drei 等
https://jsfiddle.net/bdmrg4oc/1/如果你想做更复杂的动作 (比如选址)我建议在像 blender 这样的动画程序中制作动画,然后导入它们
const loader = new THREE.GLTFLoader();
loader.load( 'https://threejs.org/examples/models/gltf/Soldier.glb', function ( gltf ) {
const model = gltf.scene;
rightArm = model.getObjectByName( 'mixamorigRightArm' );
scene.add( model );
} );
rightArm.rotation.z += Math.sin( t ) * 0.005;