小编man*_*iuz的帖子

如何在 THREE.js 中仅更改一个对象的材质颜色

我正在编辑用 Three.js 和 Tween.js 编写的程序。我尝试在这里和网上找到解决方案,但没有结果。我有很多由 THREE.Mesh 创建的对象(锥体),并且有一个小脚本,每 5 秒选择其中一个对象,并在短时间内更改其尺寸。我也想改变颜色,但我有一些问题。如果我尝试更改颜色,则会对每个对象进行更改,但我希望仅对脚本选择的对象进行更改。

这是创建对象的代码:

VIS.createCityMarkers = function( cities ){

  var material = new THREE.MeshPhongMaterial({
      color: 0xffdb85,
      specular: 0xff6c00,
      shininess: 3,
      shading: THREE.FlatShading
 });

var baseMesh = new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0.0, 0.4, 32, 1 ), material );
baseMesh.geometry.applyMatrix( new THREE.Matrix4().makeRotationX( -Math.PI * 0.5 ) );

var cityLookup = {};

  var group = new THREE.Group();
  _.each( cities, function( cc, name ){
  var g = new THREE.Group();
  var m = baseMesh.clone();
  g.add( m );
  var …
Run Code Online (Sandbox Code Playgroud)

javascript three.js tween.js

3
推荐指数
1
解决办法
6385
查看次数

标签 统计

javascript ×1

three.js ×1

tween.js ×1