You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.3KB

  1. const РЕСУРСЫ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000";
  2. const ФИШКА = "/фишка.gltf";
  3. const ТЕКСТУРА1 = "/текстура.png";
  4. const ТЕКСТУРА2 = "/текстура.jpg";
  5. const ТЕКСТУРЫ = [ТЕКСТУРА1, ТЕКСТУРА2];
  6. // // // //
  7. ПодготовитьФишкуКВыбору = мир =>
  8. {
  9. мир.выборныеУзлы = [мир.фишка];
  10. };
  11. // // // //
  12. НазначитьФишкеМатериал = мир =>
  13. {
  14. if (++мир.номерМатериала >= мир.материалы.length)
  15. {
  16. мир.номерМатериала = 0;
  17. }
  18. мир.фишка.material = мир.материалы[мир.номерМатериала];
  19. };
  20. // // // //
  21. СоздатьПримерСцены = мир =>
  22. {
  23. мир.сцена.background = new THREE.Color(0xFFFFFF);
  24. мир.камера.position.y = 10;
  25. мир.камера.position.z = 5;
  26. мир.камера.lookAt(new THREE.Vector3(0, 0, 0));
  27. мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1);
  28. мир.свет.position.set(-0.5, 1, 0.5).normalize();
  29. мир.сцена.add(мир.свет);
  30. мир.фишка = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА];
  31. мир.сцена.add(мир.фишка);
  32. };
  33. // // // //
  34. СоздатьМатериалыФишки = мир =>
  35. {
  36. мир.номерМатериала = 0;
  37. мир.материалы = [];
  38. for (var номер in ТЕКСТУРЫ)
  39. {
  40. var имя = ТЕКСТУРЫ[номер];
  41. var текстура = мир.текстуры[РЕСУРСЫ][имя];
  42. var материал = new THREE.MeshLambertMaterial({map: текстура});
  43. мир.материалы.push(материал);
  44. }
  45. };
  46. // // // //
  47. ПодготовитьсяКЗагрузкеРесурсов = мир =>
  48. {
  49. мир.полигональныеСетки = {
  50. [РЕСУРСЫ]: {
  51. [ФИШКА]: null,
  52. },
  53. };
  54. мир.текстуры = {
  55. [РЕСУРСЫ]: {
  56. [ТЕКСТУРА1]: null,
  57. [ТЕКСТУРА2]: null,
  58. },
  59. };
  60. };
  61. // // // //
  62. СкрытьКрутилку = мир =>
  63. {
  64. document.getElementById("крутилка").style.display = "none";
  65. };