Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: Serf от 18 Апреля 2010, 14:22:19



Название: Анимация двери
Отправлено: Serf от 18 Апреля 2010, 14:22:19
Привет всем, помогите анимировать простые двери, все перепробовал не получается добиться ни чего. Просто нужно на открытие и закрытие.


Название: Re: Анимация двери
Отправлено: Ruslan от 18 Апреля 2010, 14:28:37
Приведу ссылку, так, на всякий случай.. там есть пример, как делать логику, для открывания/закрывания дверей.
http://support.quest3d.com/index.php?title=Portal:Video_Tutorials


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 15:47:26
С позволения Руслана могу пошагово расписать как сделать такую дверь. Только уточни как хочешь: чтобы открывалась и сразу закрывалась, или закрывалась по нажатию на клавишу (например "L")?


Название: Re: Анимация двери
Отправлено: Serf от 18 Апреля 2010, 16:17:38
Хорошо было бы, вообще я даже не знаю как будет лучше, у меня будет один коридор и с разных сторон будут двери, может лучше что бы вообще ни чего не нажимать а так подходишь к двери она сама открывается и закрывается (только мне кажется если буду потом идти по коридору то все двери на определенном расстоянии будут открываться и закрываться) наверно все таки лучше будет по нажатию кнопки открыть а на отдалении на один шаг что бы закрывалась сама дверь. Если можно то на моем примере так как я пробовал у меня или дверь не по той оси открывается, либо не в ту с торону с этим проблемы основные.


Название: Re: Анимация двери
Отправлено: Ruslan от 18 Апреля 2010, 16:45:53
Ребята, вы чего?
я такой же пользователь на этом форуме, как и вы!  :)


Название: Re: Анимация двери
Отправлено: kyard от 18 Апреля 2010, 17:05:49
у меня или дверь не по той оси открывается, либо не в ту с торону с этим проблемы основные.

Попробуй ось поменять.
 Если дверь открывается по формуле, то в скобки всю формулу и поставь "-" перед формулой


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 20:58:43
Вщбщем так. Для начала создай саму дверь в максе. При этом должно быть два объекта: полотно и коробка, правильно расположенные дрг по отношению к другу. Затем экспортируешь их в квест. В квесте видишь эту дверь в Channel Graph в виде нода.Выделяем всю дверь и копируем. И тут же вставляем то что скопировали. Получаем две двери. На одной из них удаляем ноды которые отвечают за коробку и наличник(так-как эти детали не требуется анимировать). На другой наоборот оставляем коробку и наличник. Таким образом получаем два 3D объекта.


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 21:47:59
Теперь на 3D объекте отвечающем за полотно нужно выставить пловотную точку. Для этого берм канал Matrix и подключаем его к полотну как показано на рисунке (там кстате и собран стандартный набор каналов чтоб дверь была видима). После того давишь F4 и выставляешь пивотную точку так, чтоб полотно крутилось по оси Х относительно петель.


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 22:44:54
Теперь приступим собственно к открыванию двери. У канала отвечающего за полотно есть канал под названием Motion (0). Его нужно раскрыть (выделить щелчком и нажать "пробел")  Теперь нам доступен канал Rotation Vector (1). Унего тоже три канала и нас итересует тот что отвечает за вращение по оси Х. Его мы удаляем. А вместо его собираем и посоединяем вот такие каналы как на рисунке. Теперь подробней:
3) канал ChannelSwitch, нужен чтоб переключать значение оси Х. Эти значени находятся в каналах Vlue (7)-дверь закрыта и (8)-дверь окрыта. 
В канале ValueOperator (5)  выставляем свойство Toggle/FlipFlop triggered (value). А чтоб на него воздействовать подключаем к нему канал UserInput и настраиваем его на клавишу L или какую угодно.
Если бы не канал Inertia (2) то дверь открывалась бы с молнеиносной скоростью. Благодаря этому каналу получаем здержку между переключеним значений оси Х. А с помощью канала Value (4) можно регулировать скорость открытия/закрытия. Ну вроде бы всё. Приношу извенения за ошибки. Готов уточнять если что не понятно.


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 22:47:40
Картинка


Название: Re: Анимация двери
Отправлено: Wladek от 18 Апреля 2010, 23:06:09
На всякий случай даю ссылочку на файлообменник где выложил 2 2 готовых файла: один файл квеста, другой фай экспортированной из макса двери.
http://depositfiles.com/files/clu7qwhze (http://depositfiles.com/files/clu7qwhze)
http://depositfiles.com/files/fqd2464zs (http://depositfiles.com/files/fqd2464zs)


Название: Re: Анимация двери
Отправлено: Serf от 19 Апреля 2010, 11:44:21
Спасибо за помощь, только я вот ни как не пойму как этот пивот сделать? подсоединяю матрикс к объекту, нажимаю кнопку пивот и что дальше?? Сейчас у меня дверь крутится по большой оси.


Название: Re: Анимация двери
Отправлено: Serf от 19 Апреля 2010, 16:37:06
Вот посмотрите может у меня что то в проекте не так, у меня 4 стены и в каждой дверь как отдельный объект, сделал схемку но она не работает, если просто дверь крутить то она крутится по большой оси.


Название: Re: Анимация двери
Отправлено: Serf от 19 Апреля 2010, 16:39:32
Забыл сказать в моей схеме переключение камер С


Название: Re: Анимация двери
Отправлено: kyard от 19 Апреля 2010, 17:35:32
По моему у тебя экспорт не правильный.

Попробуй при экспорте дверь поставить в начала координат.


Название: Re: Анимация двери
Отправлено: Wladek от 19 Апреля 2010, 17:59:06
Serf, я тут твой файлик StartGroup.cgr немного подработал по опорным точкам. У всех четырёх дверей опорные точки стоят правильно. Вот ссылка на скачку
http://depositfiles.com/files/kmhw7s3gh (http://depositfiles.com/files/kmhw7s3gh)
Успехов.


Название: Re: Анимация двери
Отправлено: kyard от 19 Апреля 2010, 18:10:36
Вот посмотри. Обрати внимание на ось координат экспортированной двери.


Название: Re: Анимация двери
Отправлено: Serf от 19 Апреля 2010, 18:21:28
Да вроде простая дверь, почему тогда у меня не хочет работать??


Название: Re: Анимация двери
Отправлено: kyard от 19 Апреля 2010, 18:39:48
Не знаю я твой пример не разбирал, но на первый взгляд у тебя ось двери далеко находиться и работает только 1 дверь. Подключи вращение двери к остальным дверям и сам увидишь что все двери вращаются вокруг одно оси.

Экспорт производи по одной двери (я так делаю) и выставляй дверь так что бы ось была с той стороны по которой дверь будет вращаться.


Название: Re: Анимация двери
Отправлено: Serf от 20 Апреля 2010, 10:51:21
Ось на объект можно поставить в квесте?


Название: Re: Анимация двери
Отправлено: kyard от 20 Апреля 2010, 11:17:12
Насколько я знаю - нет.


Название: Re: Анимация двери
Отправлено: DimiS от 20 Апреля 2010, 12:28:45
можно, но значительно удобнее иметь нормальный экспорт


Название: Re: Анимация двери
Отправлено: Serf от 20 Апреля 2010, 13:39:33
Из скетчапа так не получается, он берет ось только одного объекта а остальные все берет с главной. Вообщем одна ось на все объекты, хотя объекты в разных группах.


Название: Re: Анимация двери
Отправлено: kyard от 20 Апреля 2010, 14:20:06
Попробуй экспортировать все объекты отдельно при этом выставляя каждый объект в центр координат.


Название: Re: Анимация двери
Отправлено: Serf от 22 Апреля 2010, 18:29:43
Serf, я тут твой файлик StartGroup.cgr немного подработал по опорным точкам. У всех четырёх дверей опорные точки стоят правильно.

Скажи плиз как ты это сделал?? Оси выставил на мои объекты??(опорные точки)


Название: Re: Анимация двери
Отправлено: Ruslan от 22 Апреля 2010, 18:39:17
скетчап - это зло  ;D
закинь модель в макс, а там уже выставишь Pivot как тебе нужно.
Или вот почитай:
http://guest3d.wohlnet.ru/forum/index.php?topic=374.0
→|๖ۣۜDen|←:
Цитировать
скетчап - это зло
присоединяюсь ;)


Название: Re: Анимация двери
Отправлено: Serf от 22 Апреля 2010, 19:43:23
Не особо понял конечно с этим пивотом, включал и мотион и пивот перетаскивал но все равно не добился, но и дверей то в проекте будет штук двести. Я кстати пробывал из экспортировать из скетча в синима, там открыл подвел оси к объекту - сохранил, потом экспортировал в квест, все равно ось вдалеке от объекта((


Название: Re: Анимация двери
Отправлено: kyard от 22 Апреля 2010, 20:23:37
Может экспортируешь неправильно.

P.S. Пользуюсь 3ds max 2010 там и формат .X сразу есть при экспорте. Проблем никаких не наблюдал.


Название: Re: Анимация двери
Отправлено: Wladek от 23 Апреля 2010, 12:42:12
Не особо понял конечно с этим пивотом, включал и мотион и пивот перетаскивал но все равно не добился, но и дверей то в проекте будет штук двести. Я кстати пробывал из экспортировать из скетча в синима, там открыл подвел оси к объекту - сохранил, потом экспортировал в квест, все равно ось вдалеке от объекта((

Будут ли все двери одинаковыми??


Название: Re: Анимация двери
Отправлено: Wladek от 23 Апреля 2010, 13:22:45
Если да, то:
1. создаёш одну дверь в максе,
2. экспортируешь её в квест в формате .Х
3. выставляешь опорную точку (предварительно подсоединив matrix)
4. и только затем масштабируешь и выставляешь в нужную позицию
5. копируешь и размножаешь до двухсот и более
Если всё это актуально то я подробно и с рисунками покажу как выставить опорную точку. Жду ответ


Название: Re: Анимация двери
Отправлено: Serf от 23 Апреля 2010, 14:31:24
Двери все будут разные практически, и их местоположение тоже, каждая дверь отдельно идет 3д объектом,хорошо бы понять как можно эту ось пододвинуть не передвигая саму дверь так как дверей много.


Название: Re: Анимация двери
Отправлено: kyard от 23 Апреля 2010, 14:37:27
Тебе все равно придется экспортировать каждую дверь отдельно т.к. они разные.


Название: Re: Анимация двери
Отправлено: Serf от 23 Апреля 2010, 14:49:46
Да я так и собираюсь, главное что бы оси можно было подвести к объекту не передвигая саму дверь.


Название: Re: Анимация двери
Отправлено: kyard от 23 Апреля 2010, 17:30:52
Чем тебя не устраивает двигать дверь к оси?


Название: Re: Анимация двери
Отправлено: Wladek от 25 Апреля 2010, 13:53:07
Self давай я по-подробнее всё рспишу.И так, создаю поллотно в максе опорную точку там вообще не торогаю, текстурирую и экспортирую в.Х


Название: Re: Анимация двери
Отправлено: Wladek от 25 Апреля 2010, 13:55:17
Затем импортирую это полотно в квест и, пока, ни к чему его не подсоединяю. Переходим в режим анимации (1) и видим вот такую картинку. Опорная точка не там где нам нужно, но мы это исправим. Теперь подсоиденяем к нашему полотну канал Matrix и кнопка Pivot (2) становится доступной. Теперь для пущего удобства щёлкни на Menu (3);  из раскрывшегося списка щёлкни на Top.


Название: Re: Анимация двери
Отправлено: Wladek от 25 Апреля 2010, 14:01:39
Получаем вот такую картинку. Теперь, если ты будешь переключаться между кнопками Pivot (1) и Motion (2)  картина особо не изменится, разве что позиция точки Pivot и Motion могут отличаться. Итак далее следует перенести опорную точку (4) в место , скажем, (5). Для чего с начала
переключаешся на Motion (2) и визуально, как можно точней, запоминаешь где находится опорная точка (4) в режиме Motion. Теперь переключаешся на Pivot (1) и двигаешь (6)  объект (не обращая внимание на повотовскую точку) так, чтоб выбранная нами на объекте точка (5), совпала с точкой, которую мы визуально запомнили, когда были в режиме Motion. Сообщи получилось ли.


Стучи мне в аську ICQ – 575459911


Название: Re: Анимация двери
Отправлено: Serf от 26 Апреля 2010, 17:52:18
Вот огромное тебе спасибо с этим разобрался, придется конечно помучится дверей много)