【问题标题】:threejs coloring a cylinderthreejs 为圆柱体着色
【发布时间】:2014-01-14 16:22:21
【问题描述】:

我正在尝试用巧克力色 0xd2691e 绘制一个圆柱体,但是当我使用时:

var cylinder = new THREE.Mesh(new THREE.CylinderGeometry(100, 100, 100, 100, 50, false), new THREE.MeshNormalMaterial({ color: 0xd2691e }));

它不会改变颜色。当我使用

var cylinder = new THREE.Mesh(new THREE.CylinderGeometry(100, 100, 100, 100, 50, false), new THREE.MeshBasicMaterial({ color: 0xd2691e }));

它确实改变了颜色,但顶面的颜色与侧面的颜色相同,因此它最终像一团一样,没有显示圆柱体 3D 形状。

我检查了this question,它确实随机改变了脸部的颜色,但我想要一些方法来区分顶部和侧面的颜色。

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    您应该使用MeshLambertMaterial。另外,请确保场景有灯光,否则它不会出现。

    var scene = new THREE.Scene();
    
    var cylinder = new THREE.Mesh(new THREE.CylinderGeometry(100, 100, 100, 100, 50, false), new THREE.MeshLambertMaterial({ color: 0xd2691e }));
    scene.add( cylinder );
    
    var light = new THREE.PointLight( 0xffffff );
    light.position.z = 200;
    scene.add( light );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多