FaceNormalsHelper.html 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. [page:Object3D] &rarr; [page:Line] &rarr; [page:LineSegments] &rarr;
  12. <h1>[name]</h1>
  13. <p class="desc">
  14. Renders [page:ArrowHelper arrows] to visualize an object's [page:Face3 face] normals.
  15. Requires that face normals have been specified on all [page:Face3 faces] or calculated
  16. with [page:Geometry.computeFaceNormals computeFaceNormals]. <br /><br />
  17. Note that this only works with the objects whose geometry is an instance of [page:Geometry].
  18. For [page:BufferGeometry] use a [page:VertexNormalsHelper] instead.
  19. <p>
  20. <h2>Example</h2>
  21. <div>[example:webgl_helpers WebGL / helpers]</div>
  22. <code>
  23. geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
  24. material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
  25. box = new THREE.Mesh( geometry, material );
  26. helper = new THREE.FaceNormalsHelper( box, 2, 0x00ff00, 1 );
  27. scene.add( box );
  28. scene.add( helper );
  29. </code>
  30. <h2>Constructor</h2>
  31. <h3>[name]( [param:Object3D object], [param:Number size], [param:Color color], [param:Number linewidth] )</h3>
  32. <p>
  33. [page:Object3D object] -- object for which to render face normals.<br />
  34. [page:Number size] -- (optional) length of the arrows. Default is *1*.<br />
  35. [page:Hex color] -- (optional) hex color of the arrows. Default is *0xffff00*.<br />
  36. [page:Number linewidth] -- (optional) width of the arrow lines. Default is *1*.
  37. </p>
  38. <h2>Properties</h2>
  39. <p>See the base [page:LineSegments] class for common properties.</p>
  40. <h3>[property:object matrixAutoUpdate]</h3>
  41. <p>
  42. See [page:Object3D.matrixAutoUpdate]. Set to *false* here as the helper is using the
  43. objects's [page:Object3D.matrixWorld matrixWorld].
  44. </p>
  45. <h3>[property:Object3D object]</h3>
  46. <p>The object for which the face normals are being visualized.</p>
  47. <h3>[property:Number size]</h3>
  48. <p>Length of the arrows. Default is *1*.</p>
  49. <h2>Methods</h2>
  50. <p>See the base [page:LineSegments] class for common methods.</p>
  51. <h3>[method:null update]()</h3>
  52. <p>Updates the face normal preview based on movement of the object.</p>
  53. <h2>Source</h2>
  54. <p>
  55. [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/FaceNormalsHelper.js examples/jsm/helpers/FaceNormalsHelper.js]
  56. </p>
  57. </body>
  58. </html>