three Bone 骨骼 与 Group 组

127 阅读1分钟

骨骼是Skeleton(骨架)的一部分。骨架是由SkinnedMesh(蒙皮网格)依次来使用的。 骨骼几乎和空白Object3D相同。
在 Three.js 中,Group 是一个非常重要的概念,用于组织和管理多个对象的集合。它可以将多个 3D 对象组合在一起,以便在场景中进行统一的操作和管理。以下是关于 Group 的一些关键点:

Bone 有两个属性 共有属性方法请参见其基类Object3D。

    const root = new THREE.Bone();
    const child = new THREE.Bone();
    root.add( child );
    child.position.y = 5;

属性

  • isBone : Boolean 只读属性
  • type : String 设置为“Bone”,这可以用于在一个场景中找到所有的Bones。

Group 有两个属性 共有属性方法请参见其基类Object3D。

    // 创建一个 Group
    const group = new THREE.Group();
    // 创建几个网格对象并添加到 Group 中
    const geometry = new THREE.BoxGeometry(1, 1, 1);
    const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
    const cube1 = new THREE.Mesh(geometry, material);
    cube1.position.set(-1, 0, 0); // 设置第一个立方体的位置
    const cube2 = new THREE.Mesh(geometry, material);
    cube2.position.set(1, 0, 0); // 设置第二个立方体的位置
    // 将立方体添加到 Group 中
    group.add(cube1);
    group.add(cube2);
    // 将 Group 添加到场景中
    scene.add(group);

属性

  • isGroup : Boolean 只读属性
  • type : String 一个字符串:“Group”。这个属性不应当被改变。