Как заставить двигаться объекты .

 


 

Несмотря на то что в 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.

 

Последнее изменение: 03.05.2003, 00:07:18



Используются технологии uCoz