[page:LineSegments] →

[name]

Renders [page:ArrowHelper arrows] to visualize an object's [page:Face3 face] normals. Requires that face normals have been specified on all [page:Face3 faces] or calculated with [page:Geometry.computeFaceNormals computeFaceNormals].

Note that this only works with the objects whose geometry is an instance of [page:Geometry]. For [page:BufferGeometry] use a [page:VertexNormalsHelper] instead.

Example

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

Constructor

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

[page:Object3D object] -- object for which to render face normals.
[page:Number size] -- (optional) length of the arrows. Default is *1*.
[page:Hex color] -- (optional) hex color of the arrows. Default is *0xffff00*.
[page:Number linewidth] -- (optional) width of the arrow lines. Default is *1*.

Properties

See the base [page:LineSegments] class for common properties.

[property:object matrixAutoUpdate]

See [page:Object3D.matrixAutoUpdate]. Set to *false* here as the helper is using the objects's [page:Object3D.matrixWorld matrixWorld].

[property:Object3D object]

The object for which the face normals are being visualized.

[property:Number size]

Length of the arrows. Default is *1*.

Methods

See the base [page:LineSegments] class for common methods.

[method:null update]()

Updates the face normal preview based on movement of the object.

[sourceHint]