Отрисовка с помощью Three.js, загрузка моделей GLTF и текстур PNG | Rendering with Three.js, loading of GLTF models and PNG textures
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

49 linhas
1.9KB

  1. // // // //
  2. загрузитьМодельЭтогоМодуля = (мир, ресурс, откликУспех, откликПровал = null) =>
  3. {
  4. загрузитьМодель(мир, УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ, ресурс, откликУспех, откликПровал);
  5. };
  6. // // // //
  7. загрузитьМодель = (мир, модуль, ресурс, откликУспех, откликПровал = null) =>
  8. {
  9. var м = мир.модули.модульПоУказателю(модуль);
  10. var адрес = `${window.location.origin}${ресурс}`;
  11. THREE.Cache.enabled = true;
  12. THREE.Cache.add(адрес, м.содержимое[ресурс]);
  13. мир.модельер.load(
  14. адрес,
  15. function(gltf) {
  16. // Вычленяем полигональную сетку.
  17. // Take polygon mesh.
  18. var успех = false;
  19. gltf.scene.traverse(function(ребёнок) {
  20. if (!успех && ребёнок.isMesh)
  21. {
  22. откликУспех(ребёнок);
  23. успех = true;
  24. }
  25. });
  26. if (успех)
  27. {
  28. return;
  29. }
  30. var ошибка = "ОШИБКА ⚬ 错误 ⚬ ERROR: Отсутствует полигональная сетка ⚬ 不存在多边形网格 ⚬ Polygon mesh is absent";
  31. console.error(ошибка, модуль, ресурс);
  32. откликПровал();
  33. },
  34. null,
  35. function(error) {
  36. var ошибка = "ОШИБКА ⚬ 错误 ⚬ ERROR: Отсутствует ресурс ⚬ 资源不存在 ⚬ Resource is absent";
  37. console.error(ошибка, модуль, ресурс);
  38. откликПровал();
  39. }
  40. );
  41. };