![]() |
Заметка о пипелайне для 3ds max
Уважаемые форумчане!
Не могу просто сдержаться чтобы не заметить о замечательной такой штуке как "пипелайн". Посмотрев с чем работаю компании разработки игр (я говорю в буквальном смысле про монстров игроделов) и что им приходиться проделывать с модельками чтобы "впихнуть" их в свои проекты да еще и с анимацией в свои движки - это просто кошмар. Я хотел лишь заметить что в наших руках есть такой замечательный инструмент как пипелайн для 3д макс. Ну а раз есть инструмент то за вами остаеться открытие новых проектов :) . Желаю всем творческих успехов и благ :). Спасибо большое создателям пипелайна! Они поистине сделали огромное дело! |
Ответ: Заметка о пипелайне для 3ds max
Ну впринципе мы все давно пипилину знаем, и активно юзаем.
|
Ответ: Заметка о пипелайне для 3ds max
возможно скоро пиплайн станет еще удобнее и функциональнее : http://blitz.pp.ru/forum/showthread....&threadid=3178
|
Ответ: Заметка о пипелайне для 3ds max
А возможно и нестанет :)
|
Ответ: Заметка о пипелайне для 3ds max
Я глянул тут недавно экспортер в формат для движка C4, плагинчик для 3D's Max, и ужастнулся тому геморою который возникает при экспорте, это просто ужастно, когда я пытался экспортнуть модель, а из-за того что там нету анимации, а галка стоит на анимации, он мне ещё и ругается :))) Нет чтобы простое условие поставить: если нет анимации в модели игнорировать галку, и не экспортить анимацию, выводя в конце сообщение, что анимация не экспортнулась. Учитывая что определение наличия анимации - есть.
Я уже промолчу про экспорт моделей с анимацией под HL, это просто убийство, когда нада все секьюэнсы, всё-всё вносить ещё в доп. файл и т.п. Я пока допёр как заменить модельку на свою, чуть не убился :) Неговоря о том чтобы ещё попытатся поменять анимацию :lol: Полностью согласен с Алексом, что pepiline Очень удобный инструмент. |
Ответ: Заметка о пипелайне для 3ds max
А я не согласен!!!:-)
Я вижу в пайплине 2 серьёзных недостатка!!!! 1. Пайплаин не умеет экспортировать только выделенные объекты! проверьте сами - щёлкайте в максе файл-экспортить выделенное, пайплина вы там не найдёте!!! Очень неудобно получается экспортить... Я люблю моделлить всё в одной сцене, чтобы видеть как объекты смотрятся на фоне друг друга, чтобы попасть в масштаб и тп. И тут получается что при экспорте приходится удалять все объекты кроме экспортируемого, потом экспортить этим дурдомским пайплинлм, потом всё опять возвращять как надо...Уж не такая это и мелочь!((( 2. Почему то пайплайн у меня неправильно экспортит нормали моделей((( но это мне ещё правда проверить до конца надо, так как это у меня происходит только с одним объектом - домиком, причем такой абсурд!!! Представим обычный куб и что на каждой боковой стороне этого куба есть окно. Дак вот у меня в блитце сам куб освещается нормально, но окно которое находится на свету совершенно тёмное, а которое в тени совершенно как-будто на него светит источник света!!! И если вращать объект то освещение остаётся некорректным... 3.Как в пайплане быть с текстурами??? Вот раньше я пользовался Х форматом - было у меня счастье!!!))) Я нажимал на одну кнопочку в максе, и вся модель экспортилась в указанную мною папку а за нею в эту же папку копировались и все текстуры, где бы они до этого не находились!!! А пайплайн... Вообще вы не видели PandaExporterX - это по-настоящему классная вещь!!! Пока пайплайну до неё далекооооо...%%% всех недостатков пайплайна что я перечислил у панды нету! Всё это и ещё куча всего - её достоинства! Может я не умею пользоваться пайплином, конечно. И всё это - мои заблуждения... Во всяком случае я буду рад если это так))) |
Ответ: Заметка о пипелайне для 3ds max
1. Скрывай объекты что нехочешь экспортировать, пайплайн экспортирует только нескрытые объекты.
2. юзай ResetXForm. Возможно у тебя и в максе нормали неправильно стоят. 3. Очень просто быть скидываешь текстуры рядом с полученым b3d файлом и радуешся. |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
|
Ответ: Заметка о пипелайне для 3ds max
Вкладка Utilities
|
Ответ: Заметка о пипелайне для 3ds max
Да, действительно помогло! Спасибо огромное, SBJoker! ;)
Но, у меня вопрос, почему так происходит??? У меня почти у всех моделей такая фигня((( И почему макс всё показывает правильно??? И ещё у меня в блитце если объект модели просто закрашен одноцветным материалом(не текстурой, а просто обычным материалом максе с цветом, вместо карты диффуза), то в блитце этот материал засвечивается!!! становится очень светлым, а по мере приближения к нему источника света и вовсе становится белым!!!((( |
Ответ: Заметка о пипелайне для 3ds max
ELIAS, ну нифигасибе ))) Так обосрал pipeline))))
Ну да без глюков нигде не обойтись. Но в pipeline их не такужто и много! Самое приятное это B3D Viewer он показывает как у тебя всё будет в блице (что не сильно огарчился после рендера под VRay :-D ) Автор очень помаг всем блицкодерам мира, т.к. B3d ещё и кости хранит, а это вобще круто! Я полность перешол на B3D и кинул в дальний угол 3ds, а на счёт иксов то это вобще недоформат, ты посмотри какая структура у файла, это же полный дуб, можно моделить в блокноте! Круть да и только. А с текстурами в иксах обстоит вобще туго, они налезают на модель както не так. Ну ладно, сколько людей столько и мнений. Автора темы хочу похвалить, ибо я полностью с ним соледарен! p.s. MoKa, спасибо за твою наработку для работы с костями!:super: Это круто! |
Ответ: Заметка о пипелайне для 3ds max
to Shirase, Х - отличный формат! X(по-другому XOF) - РОДНОЙ ФОРМАТ DirectX!!! Как он может быть плохим??? В нём недостатков вообще НЕТ! Он и кости олтлично тоже держит, и с текстурами у меня в нём всё хорошо(хотя я над ними издевался как мог и uvw map`ом и paint3d), и нормали как в 3дмаксе - так и в X!!! И ещё одна штука - compress! Любой Х файл можно сжать в 3 раза, при этом нисколько не уменьшится качество модели, но некоторые вьюверы будут отказываться открывать такую модель(хорошо это или плохо только вам решать:) - а по мне дак хорошо)
И вот DarkBasicPro - все эти навороты X поддерживал, и это совсем другое дело, что Blitz3d с Х форматом не очень дружит, поэтому как мне кажется у многих блитз3дкодеров и появилось такое негативное отношение к Х... ИМХО Жду ответа на пост №10, буду очень благодарен))) |
Ответ: Заметка о пипелайне для 3ds max
ELIAS
.x формат плохой потому что слишком старый. Твоя компрессия это просто перевод из числово-текстового вида в бинарный. Просто напиши конвектор .x -> .b3d и будет тебе счастье по 10 посту, может не правильно настроено отражение в материале ? |
Ответ: Заметка о пипелайне для 3ds max
ОоооОоо....Совсем плохооо...
Кто нибудь может перевести ПО СМЫСЛУ что означает каждая из опций??? |
Ответ: Заметка о пипелайне для 3ds max
Объясните пожалуйста, что такое
Scene Root XRef Scenes XRfF Objects Relative Paths Optimize Keys Preserve Key Frames Static Output ??? |
Ответ: Заметка о пипелайне для 3ds max
Scene Root - сцена макса
XRef Scenes - есть сцены котрые не содержат обьекты в данной сцене но отображают их как ссылки на обьекты содержащиеся в другом файле XRfF Objects - тоже что и выше токо некоторые конкретные обьекты Relative Paths - путь к текстурам сохранять Optimize Keys - оптимизароват ключи анимации Preserve Key Frames - поставить ключи анимации в каждом кадре Static Output - незнаю ??? |
Ответ: Заметка о пипелайне для 3ds max
Preserve Key Frames - сохранить ключевые кадры
Static Output - без анимации, и без иерархии т.е. цельным мешом... |
Ответ: Заметка о пипелайне для 3ds max
О, вот теперь ещё проблема...
Мне нужно переместить МЕШ игрока(именно МЕШ) ну к примеру на 50 единиц вверх. И вроде бы нет ничего проще...positionmesh player_all, 0,50,0 Но я пользуюсь тем методом что предложил tormoz. То есть у меня кроме меша у игрока есть ещё и анимация соостветственно player= FindChild(player_all,"Body")... То есть вот что получается: Код:
Global player_all=LoadAnimMesh("player.b3d") Код:
Global player_all=LoadAnimMesh("player.b3d") если написать вот так: Код:
Global player_all=LoadAnimMesh("player.b3d") Дак вот и вопрос, как мне поднять игрока на 50 вверх и чтобы анимацию сохранить??? И ещё, это всё можно же ещё и 3дмаксом самим решить, переместив модель там на 50 единиц вверх. Но вот представляете у меня что то странное случилось с моделью игрока в максе. ОНА НЕ ПЕРЕМЕЩАЕТСЯ!!! Вообще непонятно что я натворил...Модель анимирована скином и бипедом -> Для перемещения выделяем центр бипеда(ну как всегда) и перемещаем его, дак вот модель перемещается пока я удерживаю кнопку мыши, а как только отпускаю, она возвращается на своё прежнее место. А со всеми остальными моделями у меня всё хорошо, в смысле тоже бипед, тоже скин - и всё перемещается. чтобы это могло быть, никто не сталкивался с такой проблемой??? |
Re: Заметка о пипелайне для 3ds max
хз хз... я ваще всегда делал не как тормоз, просто один мешь для всего, и всё отлично ) попробуй на всякий случай
|
Ответ: Заметка о пипелайне для 3ds max
дело в костях, они у тебя не отскалены, в отличие от модели, и получается так, что вертексы от модели неправильно перемещаются относительно костей. Нужно использовать ScaleEntity и TranslateEntity вместо ScaleMesh и PositionMesh. Хотя для надежности всеже в 3дМаксе это делать.
|
Ответ: Заметка о пипелайне для 3ds max
H@NON, СПАСИБО ОГРОМНОЕ!!! ВСЁ ПОЛУЧИЛОСЬ!!! :)
|
Ответ: Заметка о пипелайне для 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-это не меш, а контейнер, пивот с присоединеными объектами (мешами костями и тд) |
Ответ: Заметка о пипелайне для 3ds max
Global aplayer= FindChild(player_all,"Body")...
Body...Но ведь в модели обычно много чайлдов...ОООчень много, только представь что тут придётся писать если придётся анимировать к примеру модель гусеницы!!! Тут даже функции не очень то помогут, во всяком случае неудобно. Вот...Как сделать чтобы aplayer хранил в себе сразу все чайлды??? |
Ответ: Заметка о пипелайне для 3ds max
зачем хранить все чайлды в aplayer, если они уже есть в player_all ??
|
Ответ: Заметка о пипелайне для 3ds max
каждый чилд может иметь в себе ссылку на своего родителя. так вот чтобы анимировать модельку нужно найти того самого родителя, к которому прикреплены все чилды и анимировать его.
|
Ответ: Заметка о пипелайне для 3ds max
День добрый.
проблема Xref'а и пиплайна. создаю небольшую сцену. в сцене нет объектов только Xref объекты так-как часто приходиться изменять сами объекты, а переделывать все сцену из-за этого накладно. Если объект в сцене уникальный (один), то тут никаких вопросов, вставил объект-ссылку, поставил куда надо и пусть стоит, но если 1 объект в сцене присутствует несколько раз (дерево) то каждый раз приходиться заходить в Xref objects... -> Creat Xref record from file... -> выбирать файл -> нажимать авторенейм обект и использовать материал сцены (так как такой объект уже есть) -> далее из центра сцены перемещать на нужное место и так с каждым объектом. А и еще когда он создает ссылку на объект, он создает на самом деле 2 ссылки: на сам объект и на материал, так вот приходится ссылку на материал удалять так как материал формата Xref пиплайн не может экспортировать. теперь объясню почему нельзя сделать проще: создать одну модель-ссылку а потом с зажатым шифтом перенести ее копированием, инстанцем или референцем. несмотря на то что после таких действий в окне XREF objects эти скопированные объекты пропишутся и даже в максе будут рендеряца обычным рендером но в блице мы их не увидим. кто виноват и что делать? |
Ответ: Заметка о пипелайне для 3ds max
Кто то один виноват - или ты или дедмазай :crazy:
|
Ответ: Заметка о пипелайне для 3ds max
Вложений: 1
Цитата:
Кстати обязательно скачайте файл во вложении - зип-архивчик~47 кб. Там я модель смастерил на скорую руку(в ней 6 чилдов!) и анимировал её - она в 3дмакс-файле, там же её б3д версия(но я возможно экспортил неправильно, так что можете переделать б3д), названия чилдов(если нужны можно посмотреть в макс-файле, хотя я хочу чтобы они не были нужны). Да, и в этом же архивчике есть код - там движение камеры, загрузка робота и несколько кубов для пространственности. Вот переделайте пожалуйста, этот код, чтобы робот анимировался ВЕСЬ. Если получится, то напишите, как это сделали! :) To Tormoz & H@NON - я специально сделал модель с 6-тью чилдами, так что если использовать способ уважаемого тормоза, то это аццко неудобно! Если это возможно, tormoz или h@anon, то покажите в коде, как можно быстро анимировать эту модель вашим способом. Заранее спасибо. :) Жду... |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
Перебирай каждый чайлд GetChild, CountChildren (нумерация с единицы) Применяй к нему Animate У меня получилось анимировать робота, причём даже не переэкспортивая модель. Если бы не был применён Skin, то просто делаешь Animate на всю модель. |
Ответ: Заметка о пипелайне для 3ds max
АВТОМАТ, да, скин тут вот именно в этой модели конечно не к месту, но этот робот - только пример! У меня в игре бегает не робот а человечек - и у него обязательно будет скин, поэтому убирать скин с робота ни в коем случае нельзя - именно весь смысл в нем! Костная анимация!!!
АВТОМАТ, если получилось анимировать, почему бы не бросить код??? :) |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
Код:
Graphics3D 1280, 1024, 32, 1 |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
Я и так уже весь алгоритм описал в посте Тормоз, зря... |
Ответ: Заметка о пипелайне для 3ds max
ммм....Вы не поняли:(
... Или я не понял? ... А потом мне в цикле надо будет обязательно менять последовательность анимации, ну будет ходьба, бег, прыжок, падение и тп. Мне это всё так и менять циклом??? да? Я просто в идеале это видел иначе. я думал что можно создать какую-нибудь переменную-указатель, которая и будет содержать в себе пути ко всем чилдам. Но впринципе! Создаем функцию - туда этот цикл! Из параметров - модель, скорость, секвенция, плавность, зацикленность! И всё будет! :) Спасибо, tormoz!!! :) Код:
Шоб ты сам в хелп полез, а то привыкнешь... Цитата:
Код:
For i=1 To CountChildren(robo) Но всё-равно спасибо! :) |
Ответ: Заметка о пипелайне для 3ds max
Чтобы поменять анимацию в твоём случае - да, опять перебирать чилды.
Вообще например если есть модель человека - то Skin там один, так что проблем не возникает. Если Skin один то чаще всего у него индекс 1 так что зная точно индекс можно сразу прописать, без цикла: Animate GetChild(Model,1), или можно FindChild'ом, но если их несколько то тут проще перебором, кроме специальных случаев, когда нужно анимировать например только голову или только торс. З.Ы. Stop offtop |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
Вот бы сделать аркадко типа "Приключения кубо-менчика в кубостране" В стиле марио, только 3д кстати, движок уже готофф. Токо уровни подавай и героев (делал как прототип одной фирме. в связи с кризисом проект заморозили, движок разрешили использовать куда угодно) |
Ответ: Заметка о пипелайне для 3ds max
Цитата:
Я с тех пор как способом тормоза стал пользоваться, так больше у меня такого не получалось, чтобы анимировалась сама модель, а не её чайлды. Заскринь пожалуйста настройки пайплайна при твоём экспорте и выложи ту пару строчек, обслуживающих твою анимацию. |
Ответ: Заметка о пипелайне для 3ds max
фигасе ты, спросил тоже - я уж забыл всё и о чем разговор...
но вообщем я экспортил отдельно модель, отдельно анимацию(костную) в первом случае убирал галочку "экспорт бонес" во втором прятал каркас и только кости с анимацией экспортил... ну а код это ваще ппц, было что-то вроде Код:
model=loadanimmesh("shit.b3d") |
Ответ: Заметка о пипелайне для 3ds max
Аа..Найт, дак это получается что у тебя совершенно тоже самое, что и у тормоза, только тормоз анимацию и модель держит в одном файле, и потом растаскивает их уже в блитце, а ты их 3дмаксом уже разделяешь.
Только вот, что. Вопрос уважаемому tormoz`у: Нельзя ли цикл сканирования чайлдов в твоём способе заупскать лишь один раз, и все чайлды модели как-нибудь тут же связывать...Тогда анимировать придётся только что-то одно... В таком случае гораздо удобнее будет управлять секвенцией!!! А то если делать ту функцию с циклом, тогда секвенцию придётся определять только аргументами начального кадра и конечного:( А я хочу чтобы в аргумент секвенции попадала переменная секвенции как обычно типа playerrun Или playerjump. Я то думал, что секвенцию можна взять с любой анимации, ведь если к переменно приравнять секвенцию, то эта перемеенная равна натуральному числу! Никаких ссылок на объект и тп((( Но я ошибся. |
Ответ: Заметка о пипелайне для 3ds max
Сделай рекурсивную функцию, которая сканирует анимирует каждый чайлд.
Рекурсивная - это когда функция сама себя вызывает |
Ответ: Заметка о пипелайне для 3ds max
Не понял, как мне поможет рекуссивная функция... вообще чем она от обычной то отличается..??? мы и обычную можем в цикл под условие поставить...-будет вызываться!
Аха! Я и забыл спросить! А нельзя никак экспотрить модель в один файл, и анимировать также просто как найт. Ведь можно же!!! Но тут какие то особенности чтоли при экспорте...неполучается:((((( Ну тоесть получится такой код: Код:
model=loadanimmesh("shit.b3d") Возникает вопрос "А возможно ли это впринципе?" |
Ответ: Заметка о пипелайне для 3ds max
насколько я понял рекурсивная функция нужна для поиска всех чайлдов, тоесть вот ищем чайлдов - нашли и ищем уже чайлдов в чайлде всё той-же функцией...
и что мешает так-же как я экспортить ? |
Ответ: Заметка о пипелайне для 3ds max
Если заскинен один объект - один объект и анимируется
Если заскинено несколько объектов - нужно их все искать и анимировать По уму делается одним объектом, если не нужно использовать отдельные анимации (например, бежим вперед, стреляем вбок, вперед, и тд) |
Часовой пояс GMT +4, время: 05:59. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot