|
3D-программирование Вопросы, касающиеся программирования 3D мира |
07.01.2009, 16:58
|
#16
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Scene Root - сцена макса
XRef Scenes - есть сцены котрые не содержат обьекты в данной сцене но отображают их как ссылки на обьекты содержащиеся в другом файле
XRfF Objects - тоже что и выше токо некоторые конкретные обьекты
Relative Paths - путь к текстурам сохранять
Optimize Keys - оптимизароват ключи анимации
Preserve Key Frames - поставить ключи анимации в каждом кадре
Static Output - незнаю ???
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.01.2009, 19:58
|
#17
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Preserve Key Frames - сохранить ключевые кадры
Static Output - без анимации, и без иерархии т.е. цельным мешом...
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.02.2009, 00:27
|
#18
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
О, вот теперь ещё проблема...
Мне нужно переместить МЕШ игрока(именно МЕШ) ну к примеру на 50 единиц вверх. И вроде бы нет ничего проще...positionmesh player_all, 0,50,0
Но я пользуюсь тем методом что предложил tormoz. То есть у меня кроме меша у игрока есть ещё и анимация соостветственно player= FindChild(player_all,"Body")...
То есть вот что получается:
Global player_all=LoadAnimMesh("player.b3d")
Global player= FindChild(player_all,"Body")
ExtractAnimSeq(player,10,90)
Теперь если написать так:
Global player_all=LoadAnimMesh("player.b3d")
Global player= FindChild(player_all,"Body")
PositionMesh player_all, 0,50,0
ExtractAnimSeq(player,10,90)
то не изменится абсолютно ничего...видимо при анимации меш позиционируется около косточек опять...
если написать вот так:
Global player_all=LoadAnimMesh("player.b3d")
Global player= FindChild(player_all,"Body")
PositionMesh player, 0,50,0
ExtractAnimSeq(player,10,90)
то, модель поднимается на 50 вверх, но анимация сильно, СИЛЬНО искажается.некоторые места модель растягиваются при анимировании самым неприятным образом.
Дак вот и вопрос, как мне поднять игрока на 50 вверх и чтобы анимацию сохранить???
И ещё, это всё можно же ещё и 3дмаксом самим решить, переместив модель там на 50 единиц вверх. Но вот представляете у меня что то странное случилось с моделью игрока в максе. ОНА НЕ ПЕРЕМЕЩАЕТСЯ!!! Вообще непонятно что я натворил...Модель анимирована скином и бипедом -> Для перемещения выделяем центр бипеда(ну как всегда) и перемещаем его, дак вот модель перемещается пока я удерживаю кнопку мыши, а как только отпускаю, она возвращается на своё прежнее место. А со всеми остальными моделями у меня всё хорошо, в смысле тоже бипед, тоже скин - и всё перемещается. чтобы это могло быть, никто не сталкивался с такой проблемой???
|
(Offline)
|
|
01.02.2009, 03:08
|
#19
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Заметка о пипелайне для 3ds max
хз хз... я ваще всегда делал не как тормоз, просто один мешь для всего, и всё отлично ) попробуй на всякий случай
|
(Offline)
|
|
01.02.2009, 12:02
|
#20
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
дело в костях, они у тебя не отскалены, в отличие от модели, и получается так, что вертексы от модели неправильно перемещаются относительно костей. Нужно использовать ScaleEntity и TranslateEntity вместо ScaleMesh и PositionMesh. Хотя для надежности всеже в 3дМаксе это делать.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.02.2009, 12:59
|
#21
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
H@NON, СПАСИБО ОГРОМНОЕ!!! ВСЁ ПОЛУЧИЛОСЬ!!!
|
(Offline)
|
|
01.02.2009, 16:17
|
#22
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Global player_all=LoadAnimMesh("player.b3d")
Global player= FindChild(player_all,"Body")
ExtractAnimSeq(player,10,90)
PositionEntity player_all, 0,50,0
Это должно работать
player_all-это не меш, а контейнер, пивот с присоединеными объектами (мешами костями и тд)
__________________
|
(Offline)
|
|
15.02.2009, 14:12
|
#23
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Global aplayer= FindChild(player_all,"Body")...
Body...Но ведь в модели обычно много чайлдов...ОООчень много, только представь что тут придётся писать если придётся анимировать к примеру модель гусеницы!!! Тут даже функции не очень то помогут, во всяком случае неудобно.
Вот...Как сделать чтобы aplayer хранил в себе сразу все чайлды???
|
(Offline)
|
|
15.02.2009, 15:02
|
#24
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
зачем хранить все чайлды в aplayer, если они уже есть в player_all ??
|
(Offline)
|
|
15.02.2009, 16:58
|
#25
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
каждый чилд может иметь в себе ссылку на своего родителя. так вот чтобы анимировать модельку нужно найти того самого родителя, к которому прикреплены все чилды и анимировать его.
|
(Offline)
|
|
24.02.2009, 15:32
|
#26
|
AnyKey`щик
Регистрация: 24.02.2009
Сообщений: 1
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
День добрый.
проблема Xref'а и пиплайна. создаю небольшую сцену. в сцене нет объектов только Xref объекты так-как часто приходиться изменять сами объекты, а переделывать все сцену из-за этого накладно. Если объект в сцене уникальный (один), то тут никаких вопросов, вставил объект-ссылку, поставил куда надо и пусть стоит, но если 1 объект в сцене присутствует несколько раз (дерево) то каждый раз приходиться заходить в Xref objects... -> Creat Xref record from file... -> выбирать файл -> нажимать авторенейм обект и использовать материал сцены (так как такой объект уже есть) -> далее из центра сцены перемещать на нужное место и так с каждым объектом. А и еще когда он создает ссылку на объект, он создает на самом деле 2 ссылки: на сам объект и на материал, так вот приходится ссылку на материал удалять так как материал формата Xref пиплайн не может экспортировать.
теперь объясню почему нельзя сделать проще: создать одну модель-ссылку а потом с зажатым шифтом перенести ее копированием, инстанцем или референцем. несмотря на то что после таких действий в окне XREF objects эти скопированные объекты пропишутся и даже в максе будут рендеряца обычным рендером но в блице мы их не увидим.
кто виноват и что делать?
|
(Offline)
|
|
27.02.2009, 01:30
|
#27
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Кто то один виноват - или ты или дедмазай
|
(Offline)
|
|
02.03.2009, 20:16
|
#28
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
каждый чилд может иметь в себе ссылку на своего родителя. так вот чтобы анимировать модельку нужно найти того самого родителя, к которому прикреплены все чилды и анимировать его.
|
На практике я не понял как это доджно выглядеть... H@NON, если можешь, обясни лучше кодом, плииз!
Кстати обязательно скачайте файл во вложении - зип-архивчик~47 кб.
Там я модель смастерил на скорую руку(в ней 6 чилдов!) и анимировал её - она в 3дмакс-файле, там же её б3д версия(но я возможно экспортил неправильно, так что можете переделать б3д), названия чилдов(если нужны можно посмотреть в макс-файле, хотя я хочу чтобы они не были нужны). Да, и в этом же архивчике есть код - там движение камеры, загрузка робота и несколько кубов для пространственности. Вот переделайте пожалуйста, этот код, чтобы робот анимировался ВЕСЬ.
Если получится, то напишите, как это сделали!
To Tormoz & H@NON - я специально сделал модель с 6-тью чилдами, так что если использовать способ уважаемого тормоза, то это аццко неудобно! Если это возможно, tormoz или h@anon, то покажите в коде, как можно быстро анимировать эту модель вашим способом.
Заранее спасибо. Жду...
|
(Offline)
|
|
02.03.2009, 20:48
|
#29
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
Сообщение от ELIAS
На практике я не понял как это доджно выглядеть... H@NON, если можешь, обясни лучше кодом, плииз!
Кстати обязательно скачайте файл во вложении - зип-архивчик~47 кб.
Там я модель смастерил на скорую руку(в ней 6 чилдов!) и анимировал её - она в 3дмакс-файле, там же её б3д версия(но я возможно экспортил неправильно, так что можете переделать б3д), названия чилдов(если нужны можно посмотреть в макс-файле, хотя я хочу чтобы они не были нужны). Да, и в этом же архивчике есть код - там движение камеры, загрузка робота и несколько кубов для пространственности. Вот переделайте пожалуйста, этот код, чтобы робот анимировался ВЕСЬ.
Если получится, то напишите, как это сделали!
To Tormoz & H@NON - я специально сделал модель с 6-тью чилдами, так что если использовать способ уважаемого тормоза, то это аццко неудобно! Если это возможно, tormoz или h@anon, то покажите в коде, как можно быстро анимировать эту модель вашим способом.
Заранее спасибо. Жду...
|
Не нужно было в данном случае применять Skin. Он не нужен когда весь объект перемещается/вращается целиком.
Перебирай каждый чайлд GetChild, CountChildren (нумерация с единицы)
Применяй к нему Animate
У меня получилось анимировать робота, причём даже не переэкспортивая модель.
Если бы не был применён Skin, то просто делаешь Animate на всю модель.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
02.03.2009, 21:26
|
#30
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Заметка о пипелайне для 3ds max
АВТОМАТ, да, скин тут вот именно в этой модели конечно не к месту, но этот робот - только пример! У меня в игре бегает не робот а человечек - и у него обязательно будет скин, поэтому убирать скин с робота ни в коем случае нельзя - именно весь смысл в нем! Костная анимация!!!
АВТОМАТ, если получилось анимировать, почему бы не бросить код???
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:58.
|