Loading-3D-models.html 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <!DOCTYPE html>
  2. <html lang="pt-br">
  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>Carregando modelos 3D</h1>
  11. <p>
  12. Os modelos 3D estão disponíveis em centenas de formatos de arquivo, cada um com diferentes
  13. propósitos, recursos variados e complexidade variável. Embora o
  14. <a href="https://github.com/mrdoob/three.js/tree/dev/examples/jsm/loaders" target="_blank" rel="noopener">
  15. three.js forneça muitos loaders</a>, escolher o formato e o fluxo de trabalho certos economizará tempo e frustração mais tarde.
  16. Alguns formatos são difíceis de trabalhar, ineficientes para experiências em tempo real
  17. ou simplesmente não são totalmente suportados por enquanto.
  18. </p>
  19. <p>
  20. Este guia fornece um fluxo de trabalho recomendado para a maioria dos usuários e sugestões
  21. do que tentar se as coisas não correrem como o esperado.
  22. </p>
  23. <h2>Antes de começar</h2>
  24. <p>
  25. Se você é iniciante na execução de um servidor local, comece com
  26. [link:#manual/introduction/Installation installation]
  27. primeiro. Muitos erros comuns de visualização de modelos 3D podem ser evitados hospedando arquivos
  28. corretamente.
  29. </p>
  30. <h2>Fluxo de trabalho recomendado</h2>
  31. <p>
  32. Sempre que possível, recomendamos o uso do glTF (GL Transmission Format). Ambas versões do formato,
  33. <small>.GLB</small> e <small>.GLTF</small>, são bem suportadas.
  34. Como o glTF está focado na entrega de recursos em tempo de execução,
  35. ele é compacto para transmitir e rápido para carregar. Seus recursos incluem meshs, materiais,
  36. texturas, skins, skeletons, morph targets, animações, luzes e câmeras.
  37. </p>
  38. <p>
  39. Os arquivos glTF de domínio público estão disponíveis em sites como
  40. <a href="https://sketchfab.com/models?features=downloadable&sort_by=-likeCount&type=models" target="_blank" rel="noopener">
  41. Sketchfab</a>, ou várias ferramentas que incluem exportação glTF:
  42. </p>
  43. <ul>
  44. <li><a href="https://www.blender.org/" target="_blank" rel="noopener">Blender</a> da Blender Foundation</li>
  45. <li><a href="https://www.allegorithmic.com/products/substance-painter" target="_blank" rel="noopener">Substance Painter</a> da Allegorithmic</li>
  46. <li><a href="https://www.foundry.com/products/modo" target="_blank" rel="noopener">Modo</a> da Foundry</li>
  47. <li><a href="https://www.marmoset.co/toolbag/" target="_blank" rel="noopener">Toolbag</a> da Marmoset</li>
  48. <li><a href="https://www.sidefx.com/products/houdini/" target="_blank" rel="noopener">Houdini</a> da SideFX</li>
  49. <li><a href="https://labs.maxon.net/?p=3360" target="_blank" rel="noopener">Cinema 4D</a> da MAXON</li>
  50. <li><a href="https://github.com/KhronosGroup/COLLADA2GLTF" target="_blank" rel="noopener">COLLADA2GLTF</a> do Khronos Group</li>
  51. <li><a href="https://github.com/facebookincubator/FBX2glTF" target="_blank" rel="noopener">FBX2GLTF</a> do Facebook</li>
  52. <li><a href="https://github.com/AnalyticalGraphicsInc/obj2gltf" target="_blank" rel="noopener">OBJ2GLTF</a> da Analytical Graphics Inc</li>
  53. <li>&hellip;e <a href="http://github.khronos.org/glTF-Project-Explorer/" target="_blank" rel="noopener">muito mais</a></li>
  54. </ul>
  55. <p>
  56. Se suas ferramentas preferidas não suportam glTF, considere solicitar exportação de glTF para os autores,
  57. ou postar no <a href="https://github.com/KhronosGroup/glTF/issues/1051" target="_blank" rel="noopener">glTF roadmap thread</a>.
  58. </p>
  59. <p>
  60. Quando o glTF não é uma opção, formatos populares como FBX, OBJ ou COLLADA
  61. também estão disponíveis e são mantidos regularmente.
  62. </p>
  63. <h2>Carregando</h2>
  64. <p>
  65. Apenas alguns poucos loaders (por exemplo [page:ObjectLoader]) são incluídos por padrão com o
  66. three.js — outros devem ser adicionados ao seu aplicativo individualmente.
  67. </p>
  68. <code>
  69. import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
  70. </code>
  71. <p>
  72. Depois de importar um loader você está pronto para adicionar um modelo à sua cena. A sintaxe varia entre
  73. loaders diferentes — ao usar outro formato, verifique os exemplos e a documentação para esse loader.
  74. Para glTF, o uso com scripts globais ficaria:
  75. </p>
  76. <code>
  77. const loader = new GLTFLoader();
  78. loader.load( 'path/to/model.glb', function ( gltf ) {
  79. scene.add( gltf.scene );
  80. }, undefined, function ( error ) {
  81. console.error( error );
  82. } );
  83. </code>
  84. <p>
  85. Veja a documentação [page:GLTFLoader GLTFLoader] para mais detalhes.
  86. </p>
  87. <h2>Solução de problemas</h2>
  88. <p>
  89. Você passou horas modelando uma obra-prima artesanal, você a carrega em
  90. uma página web e — ah, não! 😭 Está distorcido, descolorido ou totalmente ausente.
  91. Comece com estas etapas de solução de problemas:
  92. </p>
  93. <ol>
  94. <li>
  95. Verifique se há erros no console JavaScript e certifique-se de ter usado um
  96. callback `onError` ao chamar `.load()` para logar o resultado.
  97. </li>
  98. <li>
  99. Visualize o modelo em outro aplicativo. Para glTF, visualizadores drag-and-drop
  100. estão disponíveis para
  101. <a href="https://gltf-viewer.donmccurdy.com/" target="_blank" rel="noopener">three.js</a> e
  102. <a href="https://sandbox.babylonjs.com/" target="_blank" rel="noopener">babylon.js</a>.
  103. Se o modelo aparece corretamente em um ou mais aplicativos,
  104. <a href="https://github.com/mrdoob/three.js/issues/new" target="_blank" rel="noopener">registre um bug do three.js</a>.
  105. Se o modelo não puder ser mostrado em nenhum aplicativo, recomendamos
  106. registrar um bug com o aplicativo usado para criar o modelo.
  107. </li>
  108. <li>
  109. Tente dimensionar o modelo para cima ou para baixo por um fator de 1.000. Muitos modelos são
  110. dimensionados de forma diferente, e modelos grandes podem não aparecer se a câmera estiver
  111. dentro do modelo.
  112. </li>
  113. <li>
  114. Tente adicionar e posicionar uma fonte de luz. O modelo pode estar escondido no escuro.
  115. </li>
  116. <li>
  117. Procure requisições de textura com falha na aba network, como
  118. `"C:\\Path\To\Model\texture.jpg"`. Use caminhos relativos ao seu
  119. modelo em vez disso, tal como `images/texture.jpg` —
  120. isso pode exigir edição do arquivo de modelo em um editor de texto.
  121. </li>
  122. </ol>
  123. <h2>Pedindo ajuda</h2>
  124. <p>
  125. Se você passou pelo processo de solução de problemas acima e seu modelo
  126. ainda não está funcionando, uma abordagem correta para pedir ajuda fará com que você
  127. tenha uma solução mais rápida. Poste uma pergunta no
  128. <a href="https://discourse.threejs.org/" target="_blank" rel="noopener">fórum three.js</a>
  129. e, sempre que possível,
  130. inclua seu modelo (ou um modelo mais simples com o mesmo problema) em qualquer formato que
  131. você tiver disponível. Inclua informações suficientes para outra pessoa reproduzir
  132. o problema rapidamente - idealmente, uma demonstração ao vivo.
  133. </p>
  134. </body>
  135. </html>