【问题标题】:customize terrain.js (three.js) Need to add lambert/wire material自定义terrain.js(three.js) 需要添加lambert/wire材质
【发布时间】:2013-03-27 00:54:10
【问题描述】:

我最近开始使用three.js,我正在使用terrain.js 演示作为我正在从事的设计项目的开始。

我想添加一个混合着色器“线框/兰伯特” 默认仅带有线着色器。

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

 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;

感谢您的宝贵时间,

问候

-曼努埃尔

【问题讨论】:

  • 代替新的 THREE.Mesh 尝试 THREE.SceneUtils.CreateMultiMaterialObject
  • 你好 Uhura,我尝试过使用“创建多材质,但它似乎不起作用。这次我使用的是 qiao 的原始地形生成器。因为我在尝试居中时遇到了一些问题相机与前面的示例。最后两者都非常相似。我将在下面发布我的示例。感谢您的帮助!
  • 这是来自 qiao 演示的原始“分形地形生成器”的 jsfiddle:jsfiddle.net/uSrsW/2 这是我正在进行的工作,我修改了嵌入的 javascript 以添加多材料功能,尽管我得到了还没有渲染。不知道出了什么问题。这是链接:jsfiddle.net/xnqUb/3

标签: javascript three.js terrain fractals


【解决方案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);

【讨论】:

  • 另外,我想获得一个非常简单的“轨迹球导航”,如下例所示:mrdoob.github.com/three.js/examples/…希望您或其他人可以帮助我让多种材料和轨迹球凸轮正常工作,感谢您的帮助,非常感谢。
  • I updated you fiddle 与 THREE.SceneUtils.CreateMultiMaterialObject
  • 嗨 Uhura,非常感谢您帮助我!虽然我意识到当“多边形”计数较高时,我会遇到一些错误:
  • 关于什么可能导致这种情况的任何想法?再次感谢
  • 嗨,我更改了值,在 html 表单内的“大小”上,问题在 jsfiddle 上看起来不那么强烈,因为它是一个小预览,但在全屏上真的很分散注意力,有点失去了它的形式(线框)我提高了大小(在这个例子中多边形的数量:jsfiddle.net/uSrsW/15
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 2019-04-20
  • 2022-01-20
  • 2019-05-20
  • 2019-06-21
  • 2020-09-20
  • 1970-01-01
相关资源
最近更新 更多