Javascript 基于网格高度的颜色3.js

Javascript 基于网格高度的颜色3.js,javascript,colors,three.js,mesh,Javascript,Colors,Three.js,Mesh,我使用Three.js中的STLLoader()加载STL文件,并将其转换为网格。现在,我想根据网格的高度为每个立方体上色,如图所示。这在Three.js中可能吗?如果可能,最好的方法是什么?实际模型如下所示: 只是一个如何使用顶点颜色制作的概念: var scene=new THREE.scene(); var摄像机=新的三透视摄像机(60,window.innerWidth/window.innerHeight,11000); 摄像机。位置。设置(2,5,10); var renderer

我使用Three.js中的STLLoader()加载STL文件,并将其转换为网格。现在,我想根据网格的高度为每个立方体上色,如图所示。这在Three.js中可能吗?如果可能,最好的方法是什么?实际模型如下所示:


只是一个如何使用顶点颜色制作的概念:

var scene=new THREE.scene();
var摄像机=新的三透视摄像机(60,window.innerWidth/window.innerHeight,11000);
摄像机。位置。设置(2,5,10);
var renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
var controls=新的三个.OrbitControls(摄影机、渲染器.doElement);
var灯=新的三方向灯(0xffffff,0.5);
灯。位置。设置刻度(10);
场景。添加(灯光);
添加(新的三个环境光(0xffffff,0.5));
var planeGeom=新的三个平面缓冲几何体(10,10,10,10);
旋转平面几何(-Math.PI*0.5);
var-yMin=0;
var-yMax=2;
var颜色=[];
for(设i=0;i
正文{
溢出:隐藏;
保证金:0;
}


您可以使用着色器或设置模型几何体中顶点的颜色。是否也可以使用TextureLoader?类似于
var loader=new THREE.TextureLoader();material=new THREE.MeshPhongMaterial({map:loader.load('delhiTex.jpg'),side:THREE.DoubleSide})
谢谢-我试试看@艾米丽只是出于好奇,这有帮助吗?一般来说,了解这一点很有用,但我最终选择了另一种解决方案@艾米丽,你使用的解决方案有什么联系吗?非常有趣:)由于时间不够,我最终使用了内置的MeshNormalMaterial()