Отрисовка с помощью Three.js, загрузка моделей GLTF и текстур PNG | Rendering with Three.js, loading of GLTF models and PNG textures
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

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