MYWEBAR PRO EDITOR

Работа со скриптами

Допустим, нам нужно создать сцену с четыремя планетами солнечной системы. Эти четыре модели должны вращаться по орбите, вокруг солнца, а так же — вращаться вокруг собственной оси. Для того, чтобы это осуществить — нужно начать с загрузки модели.

Для загрузки модели, в панели настройки проекта — нужно нажать на кнопку Файл → Импорт.
Далее, выбирается нужный файл. В нашем случае — "sun.glb".
Солнце появилось на сцене, но модель слишком большая. Чтобы уменьшить объект на сцене можно ввести числовые значения вручную в панели слева или воспользоваться панелью инструментов в области просмотра. Нажмем на кнопку изменения размера.
Чтобы уменьшить объект нужно потянуть вниз верхний серый квадратик. Таким же способом выровняем положение объекта.
Теперь добавим еще три объекта — Меркурий, Венеру и Землю.

Объекты темные, так как на сцене нет света. Добавим его с помощью панели настройки проекта. Нажимаем Добавить → Окружающий свет.

Теперь самое время для создания скриптов вращения вокруг своей оси (как можно заметить, у модели Солнца присутствует анимация, но в данном примере нужно показать как работают скрипты в MAE).

Для добавления скрипта — нужно нажать на кнопку Новый.
Скрипт добавился. Теперь нужно задать ему имя, нажав на область слева от кнопки Редактировать. Назовем скрипт "Rotation".

Для того, чтобы войти в режим написания скриптом — нужно нажать на кнопку Редактировать.
Открывается зона работы со скриптами. Теперь, нам нужно обратиться к самому объекту "солнце". Для этого, внутри функции пишем ключевое слово this — мы обратились к данному объекту. Для того, чтобы заставить его вращаться — нужно обратиться к свойству rotation и выбрать координату вращения, например y, плюс, к тому же — будем использовать оператор присваивания сложения "+=" для того, чтобы объект вращался бесконечно.

Итого мы получим:
  function update( event ) {
        this.rotation.y += 0.1
    }
Для того, чтобы проверить работу скрипта — нужно нажать на кнопку Запустить.
Отлично, объект вращается.

Теперь нужно добавить анимации вращения вокруг своей оси для других планет (все в точности так же, как и для солнца).

После того, как остальные планеты могут вращаться — сделаем скрипт вращения планет вокруг солнца. Для этого, выделим модель Меркурия и создадим новый скрипт.
Для вращения вокруг солнца — требуется создавать алгоритм вращения. Скрипт будет выглядеть следующим образом:
var $ = {
        radius: 55
    }
    var f = 0;
    var s = 0.05 * Math.PI / 180;
    
    function update(event) {
        f += s;
        this.position.x = $.radius * Math.sin(f);
        this.position.z = $.radius * Math.cos(f);
    }
Все, что находится внутри функции update — повторяется каждый кадр, т.е. каждый кадр объект будет перемещаться по оси x и z — то есть вращаться вокруг солнца.

Теперь нужно написать подобные скрипты для двух других планет.

После того, как скрипты были написаны и проверены — нажимаем кнопку Запустить.