three.js 08-01 之 Group 组合对象

59 篇文章 6 订阅
59 篇文章 7 订阅

    在前面的一些分享中,你会发现有用到过对象组合。例如前面一些分享示例中提到的用THREE.SceneUtils.createMultiMaterialObject(geometry, materials) 函数创建的物体对象,其实就是创建了一个 THREE.Group 组。这个函数创建的组包含多个副本,即针对 materials 材质数组参数的每一个材质,都会创建一个对应的网格并添加到组中,这样的组看上去就像是一个网格对象拥有多份材质的效果。但实际上它是一个包含多个网格的组。

    这个 THREE.Group 对象使用起来非常简单,核心代码片段如下:

var normalMaterial = new THREE.MeshNormalMaterial();

var cubeGeom = new THREE.BoxGeometry(6, 6, 6);
var sphereGeom = new THREE.SphereGeometry(5, 10, 10);

var cube = THREE.Mesh(cubeGeom, normalMaterial);
var cube = THREE.Mesh(sphereGeom, normalMaterial);
cube.position.set(-6, 12, 0);
sphere.position.set(6, 12, 0);

var group = new THREE.Group();
group.add(cube);
group.add(sphere);
    这个 THREE.Group 对象的基类就是 THREE.Object3D。因此,所有 THREE.Object3D 上的属性和函数都可以运用到 THREE.Group 对象上。唯一不同的是 THREE.Group 对象返回的 type 是 “Group”。由于使用起来比较简单,就不再给出完整的示例了,作为练习留给读者自己去完成~

未完待续···

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值