Как заставить двигаться объекты .
|
|||
Несмотря на то что в ArchiCad и не в полне реализованна возможность анимирования , но создавать объекты , которые будут двигаться в сцене , все таки можно . Для этого существуют “ Глобальные Переменные “ несущие информацию о положениях в пространстве “ Камер “ , “ Целей “ и “ Кадров Анимации “ . О них можно получить информацию в меню “ Справка “ - “Глобальные переменные “. Вот перечень , который может вам понадобиться : N_ - Номер кадра O_ - Индекс первого кадра траектории съемки P_ - Индекс последнего кадра траектории съемки K~ - Положение текущей камеры по оси X L~ - Положение текущей камеры по оси Y M~ - Положение текущей камеры по оси Z N~ - Положение текущей цели по оси X O~ - Положение текущей цели по оси Y P~ - Положение текущей цели по оси Z С чего можно начать , что бы поэкспериментировать ... Не обязательно создавать новые объекты с нуля - можно научить двигаться тот парк автомобилей , которым вы обладаете . Возьмем для примера элемент “ Saab ” , который содержится в стандартной библиотеке ArchiCad . Установим его на плане этажа и выделим его инструментом “Стрелка “ . |
|||
За тем : Файл / Окрыть элемент библиотеки / или - File / Open Library part / Переходим в окно “ 3D-скрипт ”,выбрав соответственную кнопку . В самом верху скрипта вводим строчку : ADDY N_ ! Все ! Дальше необходимо кое-что пояснить |
|
||
ADDY – это команда перемещающая объекты стоящие ниже этой строки , вдоль оси “ Y ” . N_ - Номер кадра анимации . Целое число . В ArchiCad , в скрипте GDL , вводятся значения в метрах . Значит в этом случае ,“ Saab “ будет смещаться по оси “Y” на один метр , при каждой смене кадра . Сохраните ваш обьект как “ Saab mvbl.gsm ” . Тепере закройте окно редактирования объекта и перейдите на план этажа . Поместите на план новый объект . Теперь пеобходимо расместить несколько камер , таким образом , чтобы было видно начало и конец , предполагаемого движения автомобиля . Дальше меню “ Визуализация “ / “Произвести съемку “ . или – Image / Create Fly-Through /
|
|||
В открывшемся окне , незабудьте поставить галочку напротив “ Строить модель для всех кадров “ .или “Rebuild Model for each Frame ”. Тип ролика выберите по своему вкусу , хотя “*.mov ” , на мой взгляд экономичнее . “ Частота кадров “ будет иметь значание , в дальнейших , ваших экспериментах , но сейчас оставим как есть . |
|
||
Выбираем кнопочку “ Сохранить “ . У-у-уппс .... Машинка едет назад ... почему ? Да потому что , в пространстве она сориентирована задом на перед . То есть создатель этой машинки , располажил ее в доль оси Y но в отрицательном направлении . Видимо , ему так было удобнее :-) “ Дареному коню , как говориться , в зубы не смотрят “ . Порверить расположение обьекта можно в “ 3D виде “ , окна редактирования библиотечного элемента . Внесем изменения : Выделяем объект и все как раньше – переходим в окно редактирования . Файл / Окрыть элемент библиотеки / В окне 3D скрипт , меняем значение “N_” , на отрицательное “-N_” , вот так : ADDY -N_ Сохраните изменения . Мы получили объект который будет двигаться в перед , невзирая на преграды в бесконечность . И ограничивает , его путь только длина пленки . Он далеко не идеален , но им можно пользоваться . В дальнейшем , можно добавить возможность поворота или движение с остановкой или возможность изменения скорости в зависимости от помера кадра . Готовый ролик с ипользованием движущегося Saab-а можно скачать здесь >> . На этом можно было бы закончить , но как было сказано в начале статьи - в ArchiCad и не в полне реализованна возможность анимирования .
По этому , я хочу порекомендавать вам создать вспомогательный объект для
отсчитывания кадров . Сделать это проще всего из элемента “ 3D текст “ .
!В 3D скрипте :
pen cpn material mat1 rotx g
d=d*1000
define style "your text" c ,d,7,0 set style "your text" text e,0,f
! Внести изменения :
if k~=n~ and l~>o~ then rotZ 180 endif pen cpn material mat1 rotx g
d=d*1000
define style "your text" c ,d,7,0 set style "your text" text e,0,N_
! Получился счетчик кадров .
Поместите этот элемент ( или несколько элементов ) в сцену , так что бы его было видно на
ключивых кадрах . Таким образом вы сможете отслеживать поведение ваших объектов в сцене .
И при необходимости вносить изменения , опираясь на снятую со счетчиков информацию .
Желаю творческих успехов roma71. |
|||
Последнее
изменение: