Isomap — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Управление объектом)
(Особенности расположения)
Строка 37: Строка 37:
  
 
= Особенности расположения =
 
= Особенности расположения =
В группу объекта ''isomap'' вводят объект ''isomover'' и "заплатки" для карты. Объект родитель сам установит по координате z необходимое размещение объектов, согласно их типу. Объект ''isomover'' будет двигаться за элементами карты.<br>
+
В подобъекты ''isomap'' помещают объекты ''isomover'' и участки background, если изомувер в процессе движения может оказаться как перед, так и за ними. Это крыши домов, фонари, деревья. Объект родитель сам установит по координате z необходимое размещение объектов, согласно их типу. Объект ''isomover'' будет двигаться за элементами карты.<br>
 
[[Файл:Isomap setup2.png|left|330px]]
 
[[Файл:Isomap setup2.png|left|330px]]
 
[[Файл:Isomap setup3.png]]
 
[[Файл:Isomap setup3.png]]

Версия 15:14, 30 ноября 2015

Isomap - объект с помощью которого, появилась возможность создать траекторию движения для объекта типа isomover. Например, установить движение машин по дорогам, людей по тротуарам, птиц в небе. Каждому объекту можно задать свою уникальную траекторию, учитывать столкновения объектов и запускать их взаимодействие (разговор, бой, погоня). Объекты типа isomap и isomover часто используются с economics и items. Особенность isomap в том, что положение дочерних объектов по оси z пересчитывается, как для y. Строится набор нод (точек старта и финиша) и ребер, которые их соединяют. Движение объектов происходит между нодами вдоль ребер. Каждое ребро имеет только одно направление.

Управление объектом

Основная работа с ним происходит в окне isomap setup, где создаются ноды и ребра по которым и будет происходить движение isomap-объектов. В свойствах объекта, нажатием на троеточие, открываем isomap setup. В открывшемся окне нажимаемbuild graph

Line.jpg

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

  • Настройки нод:
    • Добавить - добавление новой ноды
    • Выбрать - если кнопка включена, то можно выбрать ноду на карте
    • Selected node name - поле установки имени для ноды
    • Selected node x,y coordanate - поле управления координатами ноды. Можно также управлять перетаскиванием ноды мишкой по карте
    • Удалить - удаление выбранной ноды
    • Delete all nodes - удаление всех нод

Ноды целесообразно ставить для задания старта и финиша, на перекрестках траектории и в местах, где предполагаемый объект будет изменять направление движения.

Isomap setup1.png

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

  • Настройки ребер:
    • Добавить - добавить новое ребро
    • Выбрать - выбрать ребро. Нажимаем на эту кнопку и кликаем на нужное ребро (оно должно окраситься красным цветом)
    • Selected edge type - поле выбора типа ребра
    • Selected edge weight - поле установки веса ребра
    • Удалить - удалить ребро
    • Delete all edges - удалить сразу все ребра
    • Select graph edge knot - включенная кнопка позволяет перемещать мышкой точки, расположенные на ребрах
    • Insert before - дополнительная точка, добавляемая до главной точки ребра
    • Insert after - дополнительная точка, добавляемая после основной точки ребра

Нам необходимо создать путь для движения изомувера. Выбираем первую ноду- она будет началом траектории, затем нажимаем Добавить и кликаем на второй ноде - это будет конец траектории. Именно в таком направлении будет двигаться объект, от первой ко второй ноде. Для двустороннего движения понадобится два односторонних ребра через одни и те же ноды. Выделив ребро, можно заметить что две точки между ним отличаются: одна закрашена, а вторая пустая. По этим признакам можно определить направление движения - оно будет происходит от пустой к закрашенной точке.

  • Дополнительные кнопки:
    • Hide all edges - скрыть все ребра, на карте остаются лишь точки
    • Save graph - сохранить все внесенные изменения
    • Exit without saving - выйти без сохранения



Особенности расположения

В подобъекты isomap помещают объекты isomover и участки background, если изомувер в процессе движения может оказаться как перед, так и за ними. Это крыши домов, фонари, деревья. Объект родитель сам установит по координате z необходимое размещение объектов, согласно их типу. Объект isomover будет двигаться за элементами карты.

Isomap setup2.png

Isomap setup3.png


Как видно со скринов, объект isomover (оранжевый шарик) в проекте находится ниже, чем объект 009_theater (изображение театра). В обычной ситуации отрисовка идет сверху вниз по дереву проекта и, если бы оба объекта были рисунками, то isomover должен был бы перекрыть собой все изображения по оси z. Тем не менее, они оба принадлежат объекту isomap, который различает типы объектов между собой. При отрисовке isomap помещает все изомуверы ниже остальных своих подобъектов. Этим создается псевдо-3D, будто наш шарик проходит сзади театра.

Почему же тогда изомувер находится выше фона, а не рисуется под ним? Фон задан объектом ground_12, который не является дочерним объектом для isomap. Поэтому isomap ничего не знает о фоне и учитывает только свои подобъекты.