BabylonJS. Урок 2 — базовые меши

Привет хабраюзер. В предыдущем уроке я рассказал тебе как создать базовую сцену с двумя мешами — плоскость и сфера. Теперь давай ознакомимся со всеми мешами, что предлагает нам фреймворк.
5f81dd4bd7204c4097db9b2fbe714fe7.png
Всего их 9:

  1. куб
  2. сфера
  3. плоскость
  4. диск
  5. цилиндр
  6. торус
  7. кнут
  8. линия
  9. земля

Куб
image

var box = BABYLON.Mesh.CreateBox("box", 6.0, scene);


Давай рассмотрим параметры:
box — уникальный идентификатор для дальнейшего взаимодействия;
6.0 — размер меша;
scene — сцена его размещения;

Сфера
image

var sphere = BABYLON.Mesh.CreateSphere("shpere", 10.0, 8.0, scene);


Рассмотрим параметры:
sphere — уникальный идентификатор для дальнейшего взаимодействия;
10.0 — качество (внимание, чем больше это значие, тем дольше компьютер будет рендерить сцену);
8.0 — размер;
scene — сцена размещения;

Плоскость
127f496d181244b5a9b8710fca758162.png

var plane = BABYLON.Mesh.CreatePlane("plane1", 10.0, scene);


Рассмотрим параметры:
plane — уникальный идентификатор для дальнейшего взаимодействия;
10.0 — размеры;
scene — сцена размещения;

Диск
49e292aa230849009d368f1fada3ed63.png

var disc = BABYLON.Mesh.CreateDisc("disc1", 5, 30, scene);


Рассмотрим параметры:
disk — уникальный идентификатор для дальнейшего взаимодействия;
5 — размер;
30 — качество (внимание, чем больше это значие, тем дольше компьютер будет рендерить сцену);
scene — сцена размещения;

Цилиндр
33f0bfd110f84f3b8af8473a787ee614.png

var cylinder = BABYLON.Mesh.CreateCylinder("cylinder1", 8, 5, 4, 6, 1, scene);


cylinder — уникальный идентификатор для дальнейшего взаимодействия;
8 — высота;
5 — диаметр “верхней” крышки;
4 — диаметр “нижней” крышки;
6 — тесселяция;
1 — сабдивы;
scene — сцена размещения;

Торус
8ebb89869f1f46a4b0d4b197a9eb9ca9.png

var torus = BABYLON.Mesh.CreateTorus("torus1", 5, 1, 10, scene);


torus — уникальный идентификатор для дальнейшего взаимодействия;
5 — диаметр;
1 -толщина;
10 — тесселяция;
scene — сцена размещения;

Кнут
6d61d06d615d4cc0b302ca5837b8a9bd.png

var knot = BABYLON.Mesh.CreateTorusKnot("knot", 2, 0.5, 128, 64, 4, 3, scene);


Рассмотрим параметры (в виду сложности перевода некоторые описание параметров оставлены в авторском виде):
knot — уникальный идентификатор;
2 — радиус;
0.5 — tube;
128 — radian segment;
64 — tubular segment
4 — p;
3 — q;
scene — сцена размещения;

Линия (или прямая)
1b758ce16ddc4801a876a327552bb1bf.png

var lines = BABYLON.Mesh.CreateLines("lines1", [
    new BABYLON.Vector3(0, 0, 0),
    new BABYLON.Vector3(10, 0, 0),
    new BABYLON.Vector3(0, 10, 10),
    new BABYLON.Vector3(10, 10, 0),
    new BABYLON.Vector3(10, 0, 10),
    new BABYLON.Vector3(0, 10, 0),
    new BABYLON.Vector3(-5, -10, 10)
    ], scene);


Обрати внимание, что при создании множества линий в конце последней линии не ставится запятая. Пожалуйста, убедись что твой код отформатирован аналогично.

Земля (или площадка)
4652062d29f24fb49ce638c0e994f754.png

var ground = BABYLON.Mesh.CreateGround("ground1", 6, 8, 2, scene);


ground — уникальный идентификатор для дальнейшего взаимодействия;
6 — ширина;
8 — глубина;
2 — сабдивы;
scene — сцена размещения;Размещение
Теперь давайте посмотрим как размещать эти меши. В BabylonJS используется стандартная система координат XYZ:

box1.position.x = 10;
box1.position.y = -10;
box1. position.z = 10;


Или, можно использовать Vector3:

box1.position = new BABYLON.Vector3(10, -10, 10);

На этом всё. Попробуй поработать с этими мешами, можешь даже построить что-нибудь интересное их них, например — башенку со сферой:
d8f2bc1c01a14c7dbaf24ddbd4350e6e.png

Пример | Исходный код

© Habrahabr.ru