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


Всего их 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 — сцена размещения;

Плоскость

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

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

Диск

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

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

Цилиндр

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

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

Торус

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

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

Кнут

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 — сцена размещения;

Линия (или прямая)

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);

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

Земля (или площадка)

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);


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


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

Комментарии (7)


  1. Juma
    17.09.2015 19:54
    +1

    Чтото в вашем списке не так:

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


    1. DigitalHNE
      17.09.2015 20:04
      +1

      Точно, спасибо за замечание.


    1. pehat
      17.09.2015 21:32
      +4

      кнут

      В МИРИ ЗКАЗОК ТОЖИ ЛЮБИ БУЛОЧКЫ ГНУМ


      1. PapaBubaDiop
        18.09.2015 00:03

        Это другой Кнут


        1. pehat
          18.09.2015 01:03
          +1

          Я думал, knot переводится как «узел» и выглядит как узел. А также что фаргус-style локализации остались в поздних девяностых.


          1. PapaBubaDiop
            18.09.2015 01:22
            +2

            Фонема меш меня просто бесит. Эдж, бекграунд, сабдивижн — о, велик русский язык.


  1. chuikoffru
    18.09.2015 00:39

    Спасибо! У вас очень хорошая подача, абсолютно ничего лишнего. Буду экспериментировать.