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


Renders [page:ArrowHelper arrows] to visualize an object's vertex normal vectors. Requires that normals have been specified in a [page:BufferAttribute custom attribute] or have been calculated using [page:BufferGeometry.computeVertexNormals computeVertexNormals].

Code Example

const geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 ); const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } ); const box = new THREE.Mesh( geometry, material ); const helper = new VertexNormalsHelper( box, 2, 0x00ff00, 1 ); scene.add( box ); scene.add( helper );


[example:webgl_helpers WebGL / helpers]


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

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


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 object's [page:Object3D.matrixWorld matrixWorld].

[property:Object3D object]

The object for which the vertex normals are being visualized.

[property:Number size]

Length of the arrows. Default is *1*.


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

[method:undefined update]()

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


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