Анимированные 3D символы в ArcScene: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
(Новая страница: « ===И всё-таки они вертятся! === Или как создать анимированный 3D символ в ArcScene. В этой стать…»)
 
Нет описания правки
Строка 1: Строка 1:
 
{{Статья|Черновик}}
===И всё-таки они вертятся! ===
===И всё-таки они вертятся! ===



Версия от 07:10, 6 января 2014

Эта страница является черновиком статьи.


И всё-таки они вертятся!

Или как создать анимированный 3D символ в ArcScene.

В этой статье я хотел бы поделиться опытом создания анимации слоя в ArcScene. Моей целью было создание небольшой 3D сцены, иллюстрирующей работу ветроэлектростанции. Сцена должна была состоять из ЦММ (создана на основе лидарной съемки, доступной здесь), красивого снимка высокого разрешения Google ( спасибо SASPlanet) и 3D моделей ветрогенераторов (взятых тут).

Поскольку неподвижные турбины не производят должного впечатления, возникло желание заставить их лопасти вращаться. Оказывается, сделать это средствами ArcScene не так уж и просто. Проведя поиск готового решения данной задачи, мне удалось найти только одну рекомендацию – создать несколько слоев с турбинами, лопасти которых находятся в разных положениях и анимировать свойство видимости этих слоев в нужном порядке, чтобы создать эффект вращения. Данный метод мне не понравился из-за своей громоздкости.

Поскольку ArcScene не имеет инструментов для создания анимированных символов, (анимация применяется ко всему слою сразу, как правило, подразумевается, что в слое содержится только один объект) реализовать вращение лопастей турбин можно с помощью создания анимации свойства слоя. Вместо того, чтобы создавать множество одинаковых слоев и показывать их по очереди, я решил использовать составной 3D символ. Он будет состоять из неподвижного основания и вращающихся лопастей. Таким образом, сначала нужно подготовить эти две части. В данном случае можно нарисовать все с нуля самому или взять готовую 3D модель ветрогенератора и разделить на две части. Я выбрал второй вариант. Найти необходимые модели, подходящие для использования в ArcScene, можно на сайте http://sketchup.google.com/3dwarehouse/?hl=ru. Когда найдена подходящая турбина, её можно быстро и без труда отредактировать в ScetchUP, как показано на рисунке 1.

Когда наши модельки готовы, можно приступать к сборке турбины в ArcScene. Предполагается, что уже создан проект, где есть ЦММ, на которой мы будем расставлять наши турбины, в моём случае это выглядело как на рисунке 2. Сначала подключаем точечный слой с турбинами в наш проект и назначаем основание турбины в качестве символа, настраиваем размер и не забываем указать Base Heights в свойствах слоя (рисунок 3). После того, как мы успешно возвели основания турбин, наша сцена должна выглядеть как на рисунке 4.

Рис. 1 разделение модели на 2 части


Рис. 2 ЦММ со снимком


Рис. 3 настройка символа основания турбины


Рис.4 сцена с основаниями турбин

Теперь нужно копировать каждую турбину в отдельный слой. Это необходимо, потому что ArcScene умеет анимировать только слои целиком, а не отдельные объекты слоя. Чтобы не делать это вручную, можно использовать простой алгоритм в Model Builder, приводить его здесь я не буду. Поскольку в моём проекте 13 турбин, то у меня получилось 13 точечных слоев, содержащих один объект (будущие лопасти) каждый. После того как новые слои добавлены в проект, нужно настроить стиль отображения наших лопастей. Самым простым способом сделать это, на мой взгляд, будет вручную настроить стиль одного слоя, а затем использовать инструмент apply symbology from layer и Model Builder для автоматического назначения стиля остальным слоям. К сожалению, мне не удалось автоматически назначить свойство Basic Heights нескольким слоям сразу, пришлось проделать это вручную.

Итак, когда мы назначили соответствующий символ для лопастей, он отобразится не там где ему положено, а примерно в середине башни. Чтобы поставить его на место, нужно пойти в настройки стиля (см. рисунок 3) и подвигать наш символ настройками смещения по осям X, Y и Z. После того, как наш «пропеллер» оказался на своем месте, и мы применили этот стиль ко всем остальным слоям (рисунок 5), можно приступать к созданию анимации.


Рис. 5 готовые составные 3D символы

Как уже было сказано, анимировать мы будем свойства слоя, в нашем случае пространственное положение лопастей. Иными словами, создадим несколько ключевых кадров, поворачивая лопасти на определенный угол. Чем больше создадим кадров, и чем меньше будет угол поворота, тем плавнее будет вращение. По аналогии со стилями (слава Богу!) есть возможность создать анимацию один раз, а потом применить ко многим слоям сразу. Чтобы приступить к созданию ключевых кадров, идем в меню анимации и жмем создать ключевой кадр. В появившемся окне выбираем тип – анимация слоя, объект – один из наших слоев с лопастями, жмем «новый», чтобы создать новый трек. Имя ключевого кадра должно быть «ключевой кадр 1», это значить, что мы работаем с новым треком, а не портим уже существующий. Затем жмем «создать» столько раз, сколько кадров нам необходимо.


Создание ключевых кадров для сцены с анимацией

В данном примере, я создал 16 ключевых кадров, но сколько нужно вам, решайте сами. Когда ключевые кадры созданы, идем в менеджер анимации, где выбираем свой трек (по идее он должен быть один, так как больше мы не создавали) на вкладке треков и переходим во вкладку ключевых кадров, где и будем наконец-то придавать лопастям вращение. Изначально окно ключевых кадров выглядит так.


Менеджер анимации для анимирования символов

Само вращение будем задавать изменяя параметр «вращение» для оси Y, но, поскольку центр лопастей и центр вращения не совпадают, если мы просто повернем лопасти на определенный угол, то они «отвалятся» от основания. Для того, чтобы вернуть их на положенное место придется после каждого поворота подстраивать значения смещения по осям X и Z. Чем тщательнее вы подкорректируете каждый кадр, тем реалистичнее получится анимация.

Итак, в данном случае я использовал 16 кадров с поворотом на 45 градусов в каждом. В итоге окно ключевых кадров приобрело следующий вид. Углы вращения отрицательные для того чтобы направление вращения ротора совпадало с углом атаки лопастей.


Менеджер анимации для анимирования символов

После того, как нас утраивает вращение нашей турбины, можно назначить эту анимацию всем остальным слоям. Для этого идем на вкладку с треками, жмем свойства и в появившемся окне добавляем все нужные слои в правую колонку «присоединенных объектов». Жмем ОК, закрываем менеджер анимации. Готово! Теперь можно насладиться зрелищем вращающихся турбин в ArcScene.


Присвоение анимации нескольким слоям


Запуск анимации

Ссылка на видео: http://www.youtube.com/watch?v=SlcZZBXvt-w&feature=youtu.be


P.S.

Зеленый фон на видео сделан для того, чтобы затем добавить небо.