Drawing-lines.html 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <!DOCTYPE html>
  2. <html lang="ja">
  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. <h1>[name]</h1>
  11. <div>
  12. <p>
  13. ワイヤーフレームの[page:Mesh]ではなく、線や円が描きたいとします。
  14. そのためには、[page:WebGLRenderer renderer]と[page:Scene scene]そしてcameraを設定する必要があります。(詳しくはシーンを作成するページを参照)
  15. </p>
  16. <p>これがその場合に使用するコードです。</p>
  17. <code>
  18. const renderer = new THREE.WebGLRenderer();
  19. renderer.setSize( window.innerWidth, window.innerHeight );
  20. document.body.appendChild( renderer.domElement );
  21. const camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 500 );
  22. camera.position.set( 0, 0, 100 );
  23. camera.lookAt( 0, 0, 0 );
  24. const scene = new THREE.Scene();
  25. </code>
  26. <p>
  27. 次にやるべきことはマテリアルを定義することです。線を描くには、[page:LineBasicMaterial]か [page:LineDashedMaterial]を使う必要があります。
  28. </p>
  29. <code>
  30. //create a blue LineBasicMaterial
  31. const material = new THREE.LineBasicMaterial( { color: 0x0000ff } );
  32. </code>
  33. <p>
  34. マテリアルの次は、複数の頂点を持つジオメトリを定義する必要があります。
  35. </p>
  36. <code>
  37. const points = [];
  38. points.push( new THREE.Vector3( - 10, 0, 0 ) );
  39. points.push( new THREE.Vector3( 0, 10, 0 ) );
  40. points.push( new THREE.Vector3( 10, 0, 0 ) );
  41. const geometry = new THREE.BufferGeometry().setFromPoints( points );
  42. </code>
  43. <p>
  44. 線は連続する頂点の組の間に引かれますが、最初の点と最後の点の間には引かれないことに注意してください(線は閉じません)
  45. </p>
  46. <p>
  47. ここで、2つの線とマテリアルが1つがあるので、これを組み合わせて一つの線にすることができます。
  48. </p>
  49. <code>
  50. const line = new THREE.Line( geometry, material );
  51. </code>
  52. <p>あとはシーンに追加して[page:WebGLRenderer.render render]を呼び出すだけです。</p>
  53. <code>
  54. scene.add( line );
  55. renderer.render( scene, camera );
  56. </code>
  57. <p>2本の青い線で出来た上向きの矢印が表示されているはずです</p>
  58. </div>
  59. </body>
  60. </html>