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.

99 lines
2.6KB

  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 ТЕКСТУРЫ = [
  6. ТЕКСТУРА1,
  7. ТЕКСТУРА2,
  8. ];
  9. // // // //
  10. ПодготовитьФишкуКВыбору = мир =>
  11. {
  12. мир.выборныеУзлы = [мир.фишка];
  13. };
  14. // // // //
  15. ИспользоватьСледующийМатериалФишки = мир =>
  16. {
  17. if (++мир.номерМатериала >= мир.материалы.length)
  18. {
  19. мир.номерМатериала = 0;
  20. }
  21. мир.фишка.material = мир.материалы[мир.номерМатериала];
  22. };
  23. // // // //
  24. СоздатьМатериалыФишки = мир =>
  25. {
  26. мир.номерМатериала = 0;
  27. мир.материалы = [];
  28. for (var номер in ТЕКСТУРЫ)
  29. {
  30. var имя = ТЕКСТУРЫ[номер];
  31. var текстура = мир.текстуры[РЕСУРСЫ][имя];;
  32. var материал = new THREE.MeshLambertMaterial({map: текстура});
  33. мир.материалы.push(материал);
  34. }
  35. };
  36. // // // //
  37. СоздатьПримерСцены = мир =>
  38. {
  39. мир.сцена.background = new THREE.Color(0xFFFFFF);
  40. var коэффициент = 2;
  41. var расстояние = 5;
  42. мир.камера.position.y = расстояние * коэффициент;
  43. мир.камера.position.z = расстояние;
  44. мир.камера.lookAt(new THREE.Vector3(0, 0, 0));
  45. мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1);
  46. мир.свет.position.set(-0.5, 1, 0.5).normalize();
  47. мир.сцена.add(мир.свет);
  48. мир.фишка = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА];
  49. мир.сцена.add(мир.фишка);
  50. };
  51. // // // //
  52. ПодготовитьсяКЗагрузкеРесурсов = мир =>
  53. {
  54. мир.полигональныеСетки = {
  55. [РЕСУРСЫ]: {
  56. [ФИШКА]: null,
  57. },
  58. };
  59. мир.текстуры = {
  60. [РЕСУРСЫ]: {
  61. [ТЕКСТУРА1]: null,
  62. [ТЕКСТУРА2]: null,
  63. },
  64. };
  65. };
  66. // // // //
  67. ВывестиПозициюНажатияВРисователе = мир =>
  68. {
  69. console.debug("Нажатие в рисователе:", мир.позицияНажатияВРисователе);
  70. };