Show children of invisible parents

后端 未结 2 1777
终归单人心
终归单人心 2020-12-11 21:31

In my scene I have an object graph, where I add child objects to parents. However, when I set parent.visible = false three.js behaves correctly and shows no ele

2条回答
  •  南笙
    南笙 (楼主)
    2020-12-11 22:17

    Children of an invisible parent are not visible.

    There is a reasonable workaround, however: set the material visibility to false.

    You will need to clone() the material for each object, but that is OK, because the objects will (in the case of WebGLRenderer) still share the same shader program.

    var material = new THREE.MeshPhongMaterial();
    
    parent = new THREE.Mesh( geometry, material.clone() );
    parent.material.visible = false;
    
    child = new THREE.Mesh( geometry, material.clone() );
    

    EDIT: Updated answer based on OP suggestion (see comments) and recent pull request.

    three.js r.68 (r.69dev for CanvasRenderer)

提交回复
热议问题