Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义terrain.js(three.js)需要添加lambert/wire材质_Javascript_Three.js_Terrain_Fractals - Fatal编程技术网

Javascript 自定义terrain.js(three.js)需要添加lambert/wire材质

Javascript 自定义terrain.js(three.js)需要添加lambert/wire材质,javascript,three.js,terrain,fractals,Javascript,Three.js,Terrain,Fractals,我最近开始使用three.js,我正在使用demo作为一个设计项目的开始 我想添加一个混合着色器“线框/兰伯特” 默认值仅与线着色器一起提供 这是演示中的代码,使用基本材料: var matrix = new THREE.MeshBasicMaterial({ color:0x10ce58, wireframe:true }); var geometry = new THREE.PlaneGeometry(wi

我最近开始使用three.js,我正在使用demo作为一个设计项目的开始

我想添加一个混合着色器“线框/兰伯特” 默认值仅与线着色器一起提供

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

 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;
感谢您在advanced中抽出时间

问候


-Manuel

这是我在材料的非工作示例中使用的代码()


而不是新的THREE.Mesh try THREE.SceneUtils.CreateMultimaterialObject Hello Uhura,我尝试与“创建多材质,但它似乎不起作用。这次我使用的是乔的原始地形生成器。因为我在尝试使用上一个示例使相机居中时遇到了一些问题。两者最终都非常相似。我将在下面发布我的示例。谢谢你的帮助!这是乔的演示中最初的“分形地形生成器”的一个JSFIDLE:这是我正在进行的工作,我修改了嵌入的javascript以添加多材质功能,尽管我还没有得到任何渲染。不知道怎么了。这里是链接:此外,我想得到一个非常简单的“轨迹球导航”,如下面的例子:希望你或有人可以帮助我一点,让多种材料和轨迹球凸轮工作,谢谢你的帮助,我非常感谢。有了三个.SceneUtils.CreateMultiMaterialObjectHi Uhura,非常感谢您的帮助!虽然我意识到当“多边形”计数更高时,我得到了一些错误:有什么想法可以导致这种情况吗?感谢againHi,我更改了html表单中“大小”的值,这个问题在JSFIDLE上看起来没有那么严重,因为它是一个小预览,但在全屏上确实会分散注意力,它有点失去了它的形式(线框)。我提高了大小(本例中的多边形数:
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);