VertexNormalsHelper.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="page.js"></script>
  7. <link type="text/css" rel="stylesheet" href="page.css" />
  8. </head>
  9. <body>
  10. [page:Object3D] &rarr; [page:Line] &rarr;
  11. <h1>[name]</h1>
  12. <p class="desc">
  13. 渲染箭头辅助对象 [page:ArrowHelper arrows] 来模拟顶点的法线.
  14. 需要定义了法线缓存属性 [page:BufferAttribute custom attribute] 或
  15. 使用了 [page:BufferGeometry.computeVertexNormals computeVertexNormals] 方法计算了顶点法线.<br /><br />
  16. </p>
  17. <h2>导入</h2>
  18. <p>
  19. [name] 是一个附加组件,必须显式导入。
  20. See [link:#manual/introduction/Installation Installation / Addons].
  21. </p>
  22. <code>
  23. import { VertexNormalsHelper } from 'three/addons/helpers/VertexNormalsHelper.js';
  24. </code>
  25. <h2>代码示例</h2>
  26. <code>
  27. const geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
  28. const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
  29. const box = new THREE.Mesh( geometry, material );
  30. const helper = new VertexNormalsHelper( box, 2, 0x00ff00, 1 );
  31. scene.add( box );
  32. scene.add( helper );
  33. </code>
  34. <h2>例子</h2>
  35. <p>
  36. [example:webgl_helpers WebGL / helpers]
  37. </p>
  38. <h2>构造函数</h2>
  39. <h3>[name]( [param:Object3D object], [param:Number size], [param:Hex color], [param:Number linewidth] )</h3>
  40. <p>
  41. [page:Object3D object] -- 要渲染顶点法线辅助的对象.<br />
  42. [page:Number size] -- (可选的) 箭头的长度. 默认为 1.<br />
  43. [page:Hex color] -- 16进制颜色值. 默认为 0xff0000.<br />
  44. [page:Number linewidth] -- (可选的) 箭头线段的宽度. 默认为 1.
  45. </p>
  46. <h2>属性</h2>
  47. <p>请到基类 [page:LineSegments] 页面查看公共属性.</p>
  48. <h3>[property:Object matrixAutoUpdate]</h3>
  49. <p>
  50. 请查看 [page:Object3D.matrixAutoUpdate]. 这里设置为 *false* 表示辅助对象
  51. 使用对象的世界矩阵 [page:Object3D.matrixWorld matrixWorld].
  52. </p>
  53. <h3>[property:Object3D object]</h3>
  54. <p>被渲染顶点法线辅助的对象.</p>
  55. <h3>[property:Number size]</h3>
  56. <p>箭头的长度. 默认为 *1*.</p>
  57. <h2>方法</h2>
  58. <p>请到基类 [page:LineSegments] 页面查看公共方法.</p>
  59. <h3>[method:undefined update]()</h3>
  60. <p>基于对象的运动更新顶点法线辅助对象.</p>
  61. <h2>源代码</h2>
  62. <p>
  63. [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/VertexNormalsHelper.js examples/jsm/helpers/VertexNormalsHelper.js]
  64. </p>
  65. </body>
  66. </html>