Привет всем, помогите анимировать простые двери, все перепробовал не получается добиться ни чего. Просто нужно на открытие и закрытие.
Приведу ссылку, так, на всякий случай.. там есть пример, как делать логику, для открывания/закрывания дверей.
http://support.quest3d.com/index.php?title=Portal:Video_Tutorials
С позволения Руслана могу пошагово расписать как сделать такую дверь. Только уточни как хочешь: чтобы открывалась и сразу закрывалась, или закрывалась по нажатию на клавишу (например "L")?
Хорошо было бы, вообще я даже не знаю как будет лучше, у меня будет один коридор и с разных сторон будут двери, может лучше что бы вообще ни чего не нажимать а так подходишь к двери она сама открывается и закрывается (только мне кажется если буду потом идти по коридору то все двери на определенном расстоянии будут открываться и закрываться) наверно все таки лучше будет по нажатию кнопки открыть а на отдалении на один шаг что бы закрывалась сама дверь. Если можно то на моем примере так как я пробовал у меня или дверь не по той оси открывается, либо не в ту с торону с этим проблемы основные.
Ребята, вы чего?
я такой же пользователь на этом форуме, как и вы! :)
Цитата: Serf от 18 апреля 2010, 17:17:38
у меня или дверь не по той оси открывается, либо не в ту с торону с этим проблемы основные.
Попробуй ось поменять.
Если дверь открывается по формуле, то в скобки всю формулу и поставь "
-" перед формулой
Вщбщем так. Для начала создай саму дверь в максе. При этом должно быть два объекта: полотно и коробка, правильно расположенные дрг по отношению к другу. Затем экспортируешь их в квест. В квесте видишь эту дверь в Channel Graph в виде нода.Выделяем всю дверь и копируем. И тут же вставляем то что скопировали. Получаем две двери. На одной из них удаляем ноды которые отвечают за коробку и наличник(так-как эти детали не требуется анимировать). На другой наоборот оставляем коробку и наличник. Таким образом получаем два 3D объекта.
Теперь на 3D объекте отвечающем за полотно нужно выставить пловотную точку. Для этого берм канал Matrix и подключаем его к полотну как показано на рисунке (там кстате и собран стандартный набор каналов чтоб дверь была видима). После того давишь F4 и выставляешь пивотную точку так, чтоб полотно крутилось по оси Х относительно петель.
Теперь приступим собственно к открыванию двери. У канала отвечающего за полотно есть канал под названием Motion (0). Его нужно раскрыть (выделить щелчком и нажать "пробел") Теперь нам доступен канал Rotation Vector (1). Унего тоже три канала и нас итересует тот что отвечает за вращение по оси Х. Его мы удаляем. А вместо его собираем и посоединяем вот такие каналы как на рисунке. Теперь подробней:
3) канал ChannelSwitch, нужен чтоб переключать значение оси Х. Эти значени находятся в каналах Vlue (7)-дверь закрыта и (8)-дверь окрыта.
В канале ValueOperator (5) выставляем свойство Toggle/FlipFlop triggered (value). А чтоб на него воздействовать подключаем к нему канал UserInput и настраиваем его на клавишу L или какую угодно.
Если бы не канал Inertia (2) то дверь открывалась бы с молнеиносной скоростью. Благодаря этому каналу получаем здержку между переключеним значений оси Х. А с помощью канала Value (4) можно регулировать скорость открытия/закрытия. Ну вроде бы всё. Приношу извенения за ошибки. Готов уточнять если что не понятно.
Картинка
На всякий случай даю ссылочку на файлообменник где выложил 2 2 готовых файла: один файл квеста, другой фай экспортированной из макса двери.
http://depositfiles.com/files/clu7qwhze (http://depositfiles.com/files/clu7qwhze)
http://depositfiles.com/files/fqd2464zs (http://depositfiles.com/files/fqd2464zs)
Спасибо за помощь, только я вот ни как не пойму как этот пивот сделать? подсоединяю матрикс к объекту, нажимаю кнопку пивот и что дальше?? Сейчас у меня дверь крутится по большой оси.
Вот посмотрите может у меня что то в проекте не так, у меня 4 стены и в каждой дверь как отдельный объект, сделал схемку но она не работает, если просто дверь крутить то она крутится по большой оси.
Забыл сказать в моей схеме переключение камер С
По моему у тебя экспорт не правильный.
Попробуй при экспорте дверь поставить в начала координат.
Serf, я тут твой файлик StartGroup.cgr немного подработал по опорным точкам. У всех четырёх дверей опорные точки стоят правильно. Вот ссылка на скачку
http://depositfiles.com/files/kmhw7s3gh (http://depositfiles.com/files/kmhw7s3gh)
Успехов.
Вот посмотри. Обрати внимание на ось координат экспортированной двери.
Да вроде простая дверь, почему тогда у меня не хочет работать??
Не знаю я твой пример не разбирал, но на первый взгляд у тебя ось двери далеко находиться и работает только 1 дверь. Подключи вращение двери к остальным дверям и сам увидишь что все двери вращаются вокруг одно оси.
Экспорт производи по одной двери (я так делаю) и выставляй дверь так что бы ось была с той стороны по которой дверь будет вращаться.
Ось на объект можно поставить в квесте?
Насколько я знаю - нет.
можно, но значительно удобнее иметь нормальный экспорт
Из скетчапа так не получается, он берет ось только одного объекта а остальные все берет с главной. Вообщем одна ось на все объекты, хотя объекты в разных группах.
Попробуй экспортировать все объекты отдельно при этом выставляя каждый объект в центр координат.
Serf, я тут твой файлик StartGroup.cgr немного подработал по опорным точкам. У всех четырёх дверей опорные точки стоят правильно.
Скажи плиз как ты это сделал?? Оси выставил на мои объекты??(опорные точки)
скетчап - это зло ;D
закинь модель в макс, а там уже выставишь Pivot как тебе нужно.
Или вот почитай:
https://guest3d.wohlnet.ru/forum/index.php?topic=374.0
→|๖ۣۜDen|←:
Цитироватьскетчап - это зло
присоединяюсь ;)
Не особо понял конечно с этим пивотом, включал и мотион и пивот перетаскивал но все равно не добился, но и дверей то в проекте будет штук двести. Я кстати пробывал из экспортировать из скетча в синима, там открыл подвел оси к объекту - сохранил, потом экспортировал в квест, все равно ось вдалеке от объекта((
Может экспортируешь неправильно.
P.S. Пользуюсь 3ds max 2010 там и формат .X сразу есть при экспорте. Проблем никаких не наблюдал.
Цитата: Serf от 22 апреля 2010, 20:43:23
Не особо понял конечно с этим пивотом, включал и мотион и пивот перетаскивал но все равно не добился, но и дверей то в проекте будет штук двести. Я кстати пробывал из экспортировать из скетча в синима, там открыл подвел оси к объекту - сохранил, потом экспортировал в квест, все равно ось вдалеке от объекта((
Будут ли все двери одинаковыми??
Если да, то:
1. создаёш одну дверь в максе,
2. экспортируешь её в квест в формате .Х
3. выставляешь опорную точку (предварительно подсоединив matrix)
4. и только затем масштабируешь и выставляешь в нужную позицию
5. копируешь и размножаешь до двухсот и более
Если всё это актуально то я подробно и с рисунками покажу как выставить опорную точку. Жду ответ
Двери все будут разные практически, и их местоположение тоже, каждая дверь отдельно идет 3д объектом,хорошо бы понять как можно эту ось пододвинуть не передвигая саму дверь так как дверей много.
Тебе все равно придется экспортировать каждую дверь отдельно т.к. они разные.
Да я так и собираюсь, главное что бы оси можно было подвести к объекту не передвигая саму дверь.
Чем тебя не устраивает двигать дверь к оси?
Self давай я по-подробнее всё рспишу.И так, создаю поллотно в максе опорную точку там вообще не торогаю, текстурирую и экспортирую в.Х
Затем импортирую это полотно в квест и, пока, ни к чему его не подсоединяю. Переходим в режим анимации (1) и видим вот такую картинку. Опорная точка не там где нам нужно, но мы это исправим. Теперь подсоиденяем к нашему полотну канал Matrix и кнопка Pivot (2) становится доступной. Теперь для пущего удобства щёлкни на Menu (3); из раскрывшегося списка щёлкни на Top.
Получаем вот такую картинку. Теперь, если ты будешь переключаться между кнопками Pivot (1) и Motion (2) картина особо не изменится, разве что позиция точки Pivot и Motion могут отличаться. Итак далее следует перенести опорную точку (4) в место , скажем, (5). Для чего с начала
переключаешся на Motion (2) и визуально, как можно точней, запоминаешь где находится опорная точка (4) в режиме Motion. Теперь переключаешся на Pivot (1) и двигаешь (6) объект (не обращая внимание на повотовскую точку) так, чтоб выбранная нами на объекте точка (5), совпала с точкой, которую мы визуально запомнили, когда были в режиме Motion. Сообщи получилось ли.
Стучи мне в аську ICQ – 575459911
Вот огромное тебе спасибо с этим разобрался, придется конечно помучится дверей много)