三个.js中的网格的网格
Mesh of meshes in three.js
我目前正在为一个使用three.js.的项目制作一些3D模型
我目前正在开发的模型由一组基本的几何形状组成,这些几何形状一起用来表示,比如说,防御塔。
说得清楚一点,我有两个盒子,三个圆柱体来代表这座塔。
方框:
var base = new THREE.Mesh(new THREE.BoxGeometry(7, 0.2, 7), new THREE.MeshPhongMaterial({color: 0xff000f}));
var head = new THREE.Mesh(new THREE.BoxGeometry(3, 1, 2.5), new THREE.MeshPhongMaterial({color: 0xaaffff}));
气缸:
var body = new THREE.Mesh(new THREE.CylinderGeometry(0.5, 0.5, 5, 20), new THREE.MeshPhongMaterial({color: 0xffffff}));
var leftCannon = new THREE.Mesh(new THREE.CylinderGeometry(0.35, 0.35, 4, 20), new THREE.MeshPhongMaterial({color: 0xffffff}));
var rightCannon = new THREE.Mesh(new THREE.CylinderGeometry(0.35, 0.35, 4, 20), new THREE.MeshPhongMaterial({color: 0xffffff}));
请不要理会这些材料的颜色,它们是附带条件。
最初的想法是将这些网格中的每一个单独添加到场景中:
scene.add(base);
scene.add(body);
scene.add(head);
scene.add(leftCannon);
scene.add(rightCannon);
然而,我觉得肯定有更好的方法可以做到这一点,至少有一种方法可以在不降低表现的情况下拥有更多。
我正在考虑使用一个容器,该容器将具有所有几何图形,并向场景中添加一个对象,而不是几个对象。
考虑到这一点,我希望每个单独的网格都有一种特定的材料(例如,大炮是金属的,底座是深色的),我还希望保持单独平移/旋转/缩放网格的能力(现在塔的头部通过鼠标拖动和WASD键移动)。
创建一个THREE.Object3D
或THREE.Group
并将网格添加到该对象中。将此对象添加到场景中。这将保留转换和更改单个零件的材质的选项。
相关文章:
- 在Three.js中导出网格会提高性能吗
- 带有预定义网格的Packey JS
- Chart.js条形图:网格颜色和隐藏标签
- 使用kendo js填充网格
- 如何使用.log数据文件显示EXT-js网格
- 如何在three.js中设置网格绘制的动画
- ext-js网格面板滚动条不适用于jquery
- Three.js保存修改后的网格顶点r67
- 三.js:如何将边缘助手与网格匹配
- 如何在 Three.js 中将 3D 网格“展平”为 2D 形状
- 分页 在 Ext JS 网格中
- 无法在 JS 树和 JQ 网格行之间实现拖放
- Kinetic.js–创建网格
- Ext.js将列添加到属性网格中
- three.js不显示所有网格
- 中止ext-js网格存储ajax调用
- Three.js-蒙皮骨骼网格实例、动画和混合
- 如何在网格.js中添加自定义方法
- 如何居中网格.js
- 在网格 (JS) 中查找列的每个成员的值