环境:
- three.js 0.159.0
问题:如何理解BoxGeometry?
BoxGeometry在创建的时候, 内部划分成了6个小组
, 每个小组
就是一个面有4个点, 假设长宽深的segments都是1的话(默认是1), 那么每个小组
拥有2个三角面, 如下面创建的代码:
var geometry = new THREE.BoxGeometry(100, 100, 100, 1, 1, 1);
// geometry.attributes.position: 这里面有24个点, 每个面4个点
// 注意: 虽然8个点也能表示了, 但分开后的好处是, 每个面的顶点可以单独设置uv值
//geometry.attributes.uv: 这里面有24个uv值, 与上面的点一一对应
//geometry.attributes.normal: 这里面也有24个值, 与上面的点一一对应
//geometry.index: 这面有36个点位索引, 共12个三角面, 12*3 = 36
// geometry.groups 如下:
// 0: {start: 0, count: 6, materialIndex: 0}
// 1: {start: 6, count: 6, materialIndex: 1}