如何将三个.js网格合并为一个网格
How to merge three.js meshes into one Mesh?
是否可以在Three.js中合并两个或多个网格,使用不同的材料?
我找到的解决方案,只合并几何,或者只是把网格放入一个Object3D
或Group
。
是:有点(见附在问题和这个回答帖子的评论):
var blueMaterial = new THREE.MeshPhongMaterial( {color: 0x0000FF } );
var redMaterial = new THREE.MeshPhongMaterial({ color:0xFF0000 });
var meshFaceMaterial = new THREE.MeshFaceMaterial( [ blueMaterial, redMaterial ] );
var boxGeometry = new THREE.BoxGeometry( 10, 10, 10 );
for ( var face in boxGeometry.faces ) {
boxGeometry.faces[ face ].materialIndex = 0;
}
var sphereGeometry = new THREE.SphereGeometry( 5, 16, 16 );
sphereGeometry.applyMatrix( new THREE.Matrix4().makeTranslation(0, 5, 0) );
var mergeGeometry = new THREE.Geometry();
mergeGeometry.merge( boxGeometry, boxGeometry.matrix );
mergeGeometry.merge( sphereGeometry, sphereGeometry.matrix, 1 );
var mesh = new THREE.Mesh( mergeGeometry, meshFaceMaterial );
scene.add( mesh );
我选择了一个立方体和一个球体,因为例如一个盒子想知道它的每个面的材质id。
http://jsfiddle.net/v49ntxfo/相关文章:
- JQuery合并了keyup和focusout两个函数
- 剑道网格jQuery动画()问题
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 我可以更改剑道UI网格吗's的外键值
- JSON重构(合并内容)与javascript
- jqGrid树网格问题
- 在Three.js中导出网格会提高性能吗
- 如何在剑道网格初始化后设置pageSizes
- 在threejs中使用纹理网格和线框网格
- 如何在可分组的剑道网格中设置空数据文本
- Javascript-根据赋值顺序,按键合并对象数组
- 合并具有不同颜色的网格
- 如何将网格与纹理合并
- 用独特的材料合并多个网格
- Three.js合并网格,但保留单独的材料
- 三个js合并几何和网格
- 如何合并网格,但保持坐标在three.js
- 如何将三个.js网格合并为一个网格
- 合并网格降低FPS
- 在Three.js中合并纹理网格