【发布时间】:2022-01-15 15:30:11
【问题描述】:
我有一个带有骨架的 gltf 文件,我想手动移动骨架的骨骼。实时做到这一点有多难
【问题讨论】:
标签: aframe
我有一个带有骨架的 gltf 文件,我想手动移动骨架的骨骼。实时做到这一点有多难
【问题讨论】:
标签: aframe
骨架中的每根骨骼都是一个THREE.Bone 实例,并且可以通过A-Frame 组件中的JavaScript 访问:
const mesh = el.getObject3D('mesh');
const bone = mesh.getObjectByName('LeftUpperArm');
bone.rotation.y = Math.PI / 4;
骨骼的数量及其名称因模型而异,因此您可能会发现.traverse(...) 网格并打印其骨骼名称以供参考会有所帮助。
因此,简单地移动骨骼中的骨骼并不难,但您可能会发现以精确和自然的方式移动骨骼并不方便 - 特别是对于人类骨骼。旋转将涉及相当多的数学,而数学在很大程度上取决于您正在使用的特定骨架。一般来说,在 Blender 中制作这种类型的动画可能更容易,或者使用 IK 库(如THREE.IK)。
【讨论】: