Отрисовка с помощью Three.js, загрузка моделей GLTF и текстур PNG | Rendering with Three.js, loading of GLTF models and PNG textures
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

49 lignes
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. };