【问题标题】:cubegeometry diagonal issue in three js三个js中的cubegeometry对角线问题
【发布时间】:2014-04-14 19:29:48
【问题描述】:

我需要创建带有线框但没有对角线的 CubeGeometry,我使用了 BoxHelper 但我无法为立方体着色。谁能建议我如何使用 BoxHelper 为立方体着色。

【问题讨论】:

    标签: opengl-es three.js webgl


    【解决方案1】:

    您有多种选择。以下是要遵循的模式:

    var mesh = new THREE.Mesh( new THREE.BoxGeometry( 10, 10, 10 ), new THREE.MeshNormalMaterial() );
    //scene.add( mesh ); // optional
    
    var helper = new THREE.BoxHelper( mesh );
    helper.material.color.set( 0x00ffff );
    scene.add( helper );
    
    // alternate method
    var helper = new THREE.EdgesHelper( mesh, 0xff0000 );
    scene.add( helper );
    

    这里有一个小提琴可以帮助你:http://jsfiddle.net/Lv2jseLb/

    注意:CubeGeometry 已重命名为 BoxGeometry

    three.js r.84

    【讨论】:

    • 感谢您的回复,但正如我已经提到的,我使用了这个 boxhelper,它很好,但我不能给 BoxHelper 一个颜色,而不是给 BoxHelper 定义的边界(helper.material.color.set( ))。我也可以给 BoxHlper 上色吗
    • BoxHelperEdgesHelper 是行。您可以将立方体添加到场景中并将助手添加到场景中吗?
    • 抱歉回复晚了,是的,但是我看不到 boxhelper 生成的线条,立方体颜色覆盖了 boxhelper 线条。
    • 为立方体材质添加以下属性:polygonOffset: true, polygonOffsetFactor: 1, polygonOffsetUnits: 1。您还可以增加帮助程序的线宽:helper.material.linewidth = 3,除非您运行的是 MS Windows。
    • 我将上述属性添加到 MeshPhongMaterial,并且我尝试使用 MeshBasicMaterial 但没有运气,它覆盖了 boxhelper 的立方体颜色,我将透明添加到 true 并将不透明度添加到材质的 0.1,它的工作但我可以看到立方体不是那么好...
    猜你喜欢
    • 1970-01-01
    • 2013-08-20
    • 2017-09-23
    • 1970-01-01
    • 2020-02-25
    • 2014-11-14
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多