【发布时间】:2018-11-24 20:31:33
【问题描述】:
我使用 JavaScript、CSS 和 Three.js 开发了一个 3D 模型。
整个项目由5个JS文件、1个CSS文件和1个HTML文件组成。
模型如下所示:
[]
我已为每个隔间添加了淋浴器,并且仅在用户选中特定隔间的复选框时才需要显示它们。
例如,如果用户选择“隔间 1 复选框”,则淋浴应显示在隔间 1 中。
负责JavaScript文件的相关代码块:
function createPartition() {
var partitionGroup = new THREE.Group();
var door = new THREE.Mesh(geometries.door, materials.doorMaterial);
var doorLibbing = new THREE.Mesh(geometries.libbing1, materials.libbingMaterial);
var frontPanelWithoutHoles = new THREE.Mesh(geometries.frontPanelWithoutHoles, materials.frontPanelMaterial);
var frontPanelWithHoles = new THREE.Mesh(geometries.frontPanelWithHoles, materials.frontPanelMaterial);
var frontPanel_leftLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var frontPanel_rightLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var frontPanel_topLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var partitionLeft = new THREE.Mesh(geometries.partition, materials.partitionMaterial);
var partitionLeft_frontLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var partitionLeft_backLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var partitionLeft_topLibbing = new THREE.Mesh(geometries.libbing2, materials.libbingMaterial);
var wallMaterial = new THREE.MeshLambertMaterial({color:resources.settings.wallColor});
footRight = new THREE.Mesh(new THREE.BoxGeometry(.040, .15, 0.05), wallMaterial);
footLeft = new THREE.Mesh(new THREE.BoxGeometry(.040, .15, 0.05), wallMaterial);
shower= 新的 THREE.Mesh(新的 THREE.BoxGeometry(0.1, 0.11, 0.45), 墙材料); 花洒=新三.Mesh(新三.BoxGeometry(0.1,0.1,-0.04),wallMaterial);
partitionLeft.add(footRight);
partitionLeft.add(footLeft);
partitionLeft.add(淋浴);
partitionLeft.add(淋浴头);
footRight.position.set(-0.12,-0.85,0);
footLeft.position.set(.12,-0.85,0);
shower.position.set(0.4,0.5,-1.312);
花洒.position.set(0.4,0.4,-1.112);
我在 index.html 中包含复选框值
<input type="checkbox" name="cube1" value="cube1"> Cubicle 1<br>
<input type="checkbox" name="cube2" value="cube2" checked> Cubicle 2 <br>
有什么建议如何在用户选中特定复选框时显示“淋浴”?
【问题讨论】:
标签: javascript three.js 3d-modelling 3d-model