2
0

LOD.html 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <!DOCTYPE html>
  2. <html lang="it">
  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;
  11. <h1>[name]</h1>
  12. <p class="desc">
  13. Livello di Dettaglio - mostra mesh con più o meno geometria in base alla distanza dalla telecamera.<br /><br />
  14. Ogni livello è associato ad un oggetto, e il rendering può essere commutato tra di loro alle distanze specificate.
  15. In genere creeresti, per esempio, tre mesh, una per il lontano (dettaglio basse), una per la gamma media (medio dettaglio)
  16. e una per i primi piani (alto dettaglio).
  17. </p>
  18. <h2>Codice di Esempio</h2>
  19. <code>
  20. const lod = new THREE.LOD();
  21. // Crea sfere con 3 livelli di dettaglio e crea nuovi livelli LOD per loro
  22. for( let i = 0; i < 3; i++ ) {
  23. const geometry = new THREE.IcosahedronGeometry( 10, 3 - i );
  24. const mesh = new THREE.Mesh( geometry, material );
  25. lod.addLevel( mesh, i * 75 );
  26. }
  27. scene.add( lod );
  28. </code>
  29. <h2>Esempi</h2>
  30. <p>
  31. [example:webgl_lod webgl / lod ]
  32. </p>
  33. <h2>Costruttore</h2>
  34. <h3>[name]( )</h3>
  35. <p>
  36. Crea un nuovo [name].
  37. </p>
  38. <h2>Proprietà</h2>
  39. <p>Vedi la classe base [page:Object3D] per le proprietà comuni.</p>
  40. <h3>[property:Boolean autoUpdate]</h3>
  41. <p>
  42. Indica se l'oggetto LOD viene aggiornato automaticamente dal renderer per frame o no.
  43. Se impostato a false, devi chiamare da solo [page:LOD.update]() nel ciclo di rendering.
  44. Il valore predefinito è true.
  45. </p>
  46. <h3>[property:Boolean isLOD]</h3>
  47. <p>
  48. Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
  49. </p>
  50. <h3>[property:Array levels]</h3>
  51. <p>
  52. Un array di oggetti [page:Object level].<br /><br />
  53. Ogni livello è un oggetto con due proprietà:<br />
  54. [page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
  55. [page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
  56. [page:Float hysteresis] - Soglia utilizzata per evitare il flickering ai confini del LOD, come frazione della distanza.
  57. </p>
  58. <h2>Metodi</h2>
  59. <p>Vedi la classe base [page:Object3D] per i metodi comuni.</p>
  60. <h3>[method:this addLevel]( [param:Object3D object], [param:Float distance], [param:Float hysteresis] )</h3>
  61. <p>
  62. [page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
  63. [page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
  64. [page:Float hysteresis] - Soglia utilizzata per evitare il flickering ai confini del LOD, come frazione della distanza. Il valore predefinito è 0.0.<br /><br />
  65. Aggiunge una mesh che sarà visualizzata ad una certa distanza e maggiore. In genere, maggiore è
  66. la distanza, minore è il dettaglio sulla mesh.
  67. </p>
  68. <h3>[method:Integer getCurrentLevel]()</h3>
  69. <p>
  70. Ottiene il livello LOD attivo attualmente. Come indice dell'array dei livelli.
  71. </p>
  72. <h3>[method:Object3D getObjectForDistance]( [param:Float distance] )</h3>
  73. <p>
  74. Ottiene un riferimento al primo [page:Object3D] (mesh) che è maggiore della [page:Float distance].
  75. </p>
  76. <h3>[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
  77. <p>
  78. Ottiene le intersezioni tra un [page:Ray] lanciato a questo LOD.
  79. [page:Raycaster.intersectObject] chiamerà questo metodo.
  80. </p>
  81. <h3>[method:Object toJSON]( meta )</h3>
  82. <p>
  83. Crea una struttura JSON con i dettagli di questo oggetto LOD.
  84. </p>
  85. <h3>[method:undefined update]( [param:Camera camera] )</h3>
  86. <p>
  87. Imposta la visibilità di ogni [page:Object3D oggetto] del [page:levels livello] in base
  88. alla distanza dalla [page:Camera telecamera].
  89. </p>
  90. <h2>Source</h2>
  91. <p>
  92. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  93. </p>
  94. </body>
  95. </html>