2013-03-27 24 views
0

我最近开始玩three.js,我使用terrain.js演示作为我正在开发的设计项目。自定义terrain.js(three.js)需要添加lambert /线材

我想添加混合着色器“wireframe/lambert” 默认只有线着色器。

这是从演示代码,使用基本材料:

var matrix = new THREE.MeshBasicMaterial({ 
      color:0x10ce58, 
      wireframe:true 
     }); 

     var geometry = new THREE.PlaneGeometry(width, height, modelWidth, modelHeight); 
     mesh = new THREE.Mesh(geometry, matrix); 
     mesh.doubleSided = false; 

,我想是这样,但我只得到了“兰伯特”的渲染,而不是兰伯特和线组合,任何想法?

var darkMaterial = new THREE.MeshLambertMaterial({ color: 0xffffff , shading: THREE.FlatShading, overdraw: true}); 
    var wireframeMaterial = new THREE.MeshBasicMaterial({ color: 0x10ce58, wireframe: true, transparent: true }); 
    var multiMaterial = [ darkMaterial, wireframeMaterial ]; 


     var geometry = new THREE.PlaneGeometry(width, height, modelWidth, modelHeight); 
     mesh = new THREE.Mesh(geometry, multiMaterial); 
     mesh.doubleSided = false; 

感谢您对晚期的时候,

问候

-Manuel

+0

而不是新的THREE.MESH尝试THREE.SceneUtils.CreateMultiMaterialObject – uhura 2013-03-27 09:09:02

+0

你好Uhura,我试图玩“创造多材料,但它似乎并没有工作。这次我使用乔的原始地形生成器。由于我在尝试将摄像头对准前一个示例时遇到了一些问题。最后两者非常相似。我会在下面发表我的例子。谢谢你的帮助! – Manuqc 2013-03-27 22:53:38

+0

这是来自乔的演示的原始“分形地形生成器”的一个jsfiddle:http://jsfiddle.net/uSrsW/2/这是我正在进行的工作,我修改了嵌入的javascript以添加多物体功能,尽管我我没有得到任何呈现。不知道什么是错的。这里是链接:http://jsfiddle.net/xnqUb/3/ – Manuqc 2013-03-27 23:00:20

回答

1

这是我用我的非工作示例代码的材料(http://jsfiddle.net/xnqUb/3/

var geometry = new THREE.PlaneGeometry(width, height, model.length - 1, model.length - 1, materials); 
     materials = [ 
        new THREE.MeshLambertMaterial({ color: 0xffffff, shading: THREE.FlatShading, overdraw: true }), 
        new THREE.MeshLambertMaterial({ color: 0x10ce58, wireframe: true,}) 
       ]; 

    var mesh = new THREE.Mesh(geometry); 

    object = THREE.SceneUtils.createMultiMaterialObject(geometry, materials); 
+0

此外,我想获得一个非常简单的“轨迹球导航”就像下面的例子:http://mrdoob.github.com/three.js /examples/misc_controls_trackball.html希望您或某人能帮助我获得多种材质和轨迹球摄像头,感谢您的帮助,我非常感谢。 – Manuqc 2013-03-27 23:05:57

+0

[我更新了你的小提琴](http://jsfiddle.net/uSrsW/4/)与THREE.SceneUtils.CreateMultiMaterialObject – uhura 2013-03-27 23:26:39

+0

嗨Uhura,非常感谢帮助我!虽然我意识到,当“多边形”数更高时,我得到一些错误: – Manuqc 2013-03-28 16:19:57