javascript - 如何在三个js中为子网格添加轮廓

标签 javascript 3d three.js

我想给网格添加轮廓。我按照示例 which created a new mesh using the same geometry, and scaled the mesh.

    var outlineMaterial = new THREE.MeshBasicMaterial({color: 0x00ffff, side: THREE.BackSide});
    this.outlineMesh = new THREE.Mesh(target.geometry, outlineMaterial);
    this.outlineMesh.quaternion = target.quaternion;
    this.outlineMesh.position = target.position;
    this.outlineMesh.scale.copy(target.scale);
    this.outlineMesh.scale.multiplyScalar(1.05);
    this.scene.add(this.outlineMesh);

工作正常,outlineMesh 的位置始终与目标网格相同。但是,当我将目标网格作为子网格添加到其他网格时,outlineMesh 的位置与目标网格不同。我以为是因为target position和parent的坐标有关,但是outlineMesh还在world坐标。

知道如何为子网格制作轮廓吗?非常感谢!

最佳答案

只需将 outlineMesh 添加为目标 mesh 的子项,如下所示:

var outlineMaterial = new THREE.MeshBasicMaterial( { color: 0x00ffff, side: THREE.BackSide } );
outlineMesh = new THREE.Mesh( geometry, outlineMaterial );
outlineMesh.scale.multiplyScalar( 1.05 );
mesh.add( outlineMesh );

three.js r.67

关于javascript - 如何在三个js中为子网格添加轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530879/

相关文章:

c++ - 使用顶点缓冲对象渲染不同的三角形类型和三角形扇形? (OpenGL)

将射弹模拟转换为 3D 会导致绘图消失?

Javascript THREEJS 和 GC

javascript - 我不会制作线框框

three.js - 使用 Three.js 创建类似屋顶的结构

javascript - dc.js 图表中的多个画笔

javascript - 如何在 d3 图中使用 json 数组

algorithm - 使用四点相交的线段

javascript - NodeJS 将响应输出返回到对象数组

javascript - 如何在不使用 `request` 的情况下通过 Node.js 发布 JSON?