three.js EdgesGeometry给几何体边缘添加辅助线-线框

EdgesGeometry为几何体添加线框

EdgesGeometry很少用到,一直没忽视。但是当你用起来的时候就可以制作出一些高级的效果。

官方文档:https://threejs.org/docs/index.html#api/en/geometries/EdgesGeometry

var geometry = new THREE.BoxBufferGeometry( 100, 100, 100 );
var edges = new THREE.EdgesGeometry( geometry );
var line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );
scene.add( line );

使用起来很简单直接new一个就可以了。然后用到LineSegments中。
构造函数:EdgesGeometry( geometry : Geometry, thresholdAngle : Integer )
参数:

  • geometry — Any geometry object.
  • thresholdAngle — An edge is only rendered if the angle (in degrees) between the face normals of the adjoining faces exceeds this value. default = 1 degree.
    只有当相邻面的法线之间的角度(以度为单位)超过此值时,才呈现边缘。默认值= 1度。

three.js EdgesGeometry给几何体边缘添加辅助线-线框_第1张图片
我的模型题诗bufferGeometry有问题,于是就通过fromBufferGeometry方法转成了Geometry。

var edges = new THREE.EdgesGeometry(new THREE.Geometry().fromBufferGeometry(mod.geometry));
 var line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );

小知识点:BufferGeometry和Geometry直接可以互相转换。

你可能感兴趣的:(three.js)