[page:Object3D] → [page:Line] → [page:LineSegments] →

[name]

渲染箭头辅助对象 [page:ArrowHelper arrows] 来模拟面 [page:Face3 face] 的法线. 需要所有面 [page:Face3 faces] 都指定了法线 或 通过 [page:Geometry.computeFaceNormals computeFaceNormals] 方法计算面的法线.

注意:仅几何体为 [page:Geometry] 类型的对象能正常运行. 对于 [page:BufferGeometry] 类型几何体的对象请使用 [page:VertexNormalsHelper] 代替.

例子

[example:webgl_helpers WebGL / helpers]
geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 ); material = new THREE.MeshBasicMaterial( { color: 0xff0000 } ); box = new THREE.Mesh( geometry, material ); helper = new THREE.FaceNormalsHelper( box, 2, 0x00ff00, 1 ); scene.add( box ); scene.add( helper );

构造函数

[name]( [param:Object3D object], [param:Number size], [param:Color color], [param:Number linewidth] )

[page:Object3D object] -- 要渲染面法线辅助的对象.
[page:Number size] -- (可选的) 箭头的长度. 默认为 *1*.
[page:Hex color] -- (可选的) 箭头的颜色. 默认为 *0xffff00*.
[page:Number linewidth] -- (可选的) 箭头线段的宽度. 默认为 *1*.

属性

请到基类 [page:LineSegments] 页面查看公共属性.

[property:object matrixAutoUpdate]

请查看 [page:Object3D.matrixAutoUpdate]. 这里设置为 *false* 表示辅助对象 使用对象的世界矩阵 [page:Object3D.matrixWorld matrixWorld].

[property:Object3D object]

被渲染面法线辅助的对象.

[property:Number size]

箭头的长度. 默认为 *1*.

方法

请到基类 [page:LineSegments] 页面查看公共方法.

[method:null update]()

基于对象的运动更新面法线辅助对象.

源码

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/FaceNormalsHelper.js examples/jsm/helpers/FaceNormalsHelper.js]