Render.ru

Скелетная анимация и текстурирование для игр

#1
Если у кого имеется практика в максе подобной фичи то хотелось бы получить совет как лучше это делать.
Смысл в чем. Не проблема создать малополигональную модель и текстурировать ее. Причем одной текстурой и все такое. Но вот правильно ли я это делаю.
Круто конечно анимирует движения Харакртер студия. Но как эти движения вытащить из макса, тем более с деформацией модели. Ну как вытащить это больше проблемы не мои (програминг идет под директ). Но вот в том ли направлении двигаемся, так сказать. Не очень хотелось бы использовать кости, хотя на крайняк и они сойдут.
Да и с текстурами. Мучаться конечно с созданием одной текстуры заданного размера для всего объекта, не оч приятное занятие.. есть ли способ проще? Чтобы сами склеивались потом при конвертировании в одну например 8) Конвертировать из макса модели лучше чем... посоветуйте 8))
Да и накладывание этой текстуры, верно ли я делаю? Запускаю стандартное - едит мешь, выделяю нужные полигоны, задаю материал им, а затем увп мапингом подправляю чтобы правильно легла.. так это нада делать или я опять колесо выдумываю?
Может кто-нить меня направит?
 
#2
На мой взгляд, для анимации персов все-таки лучше КС, хотя вопрос довольно спорный, скорее это дело привычки и умения. А мапинг делать насколько я знаю рекомендуется через UVW unwarp, геморно но эффективно... Кстати у КС тоже кости есть на сколько я знаю и можно как раз их и сохранить для программеров... А на счет того чтоб разные текстуры потом в одну схлопывались ни разу не слышал...
 

sfp

Активный участник
Рейтинг
15
#3
Конвертировать модели из макса надо своими плагами или скриптами. Стандартные конверторы любых форматов обычно дают глюки с нормалями, сглаживанием, текстурными координатами, появлением лишних вершин (нужное подчеркнуть).
О текстурировании я, только что, написал вот здесь
http://www.render.ru/forum/read.php?f=3&i=54816&t=54816
 

sfp

Активный участник
Рейтинг
15
#5
Ambeint, а ты когда-нибудь делал меппинг для игры в DeepPaint? Попробуй, или хотя бы посмотри на скины из любой игры и прикинь, может ли DeepPaint сделать такую развертку. Вот потом будешь давать советы!
 
#6
sfp, наверное, черезчур разгорячен перепалкой с Kilya? Ничем другим я не могу объяснить посты - типа иди кури всторонке... =))))
Кстати, насчет Кили я полностью с тобой согласен. Помоему, решает вовсе не пакет, а опыт плюс способности.

Тепереча насчет ДП. Чем я тут тебе не угодил?
Да, делал я развертку для игровых моделек в ДП. Поэтому и посоветовал, стараюсь не быть голословным. Модельку делал для quake3. Вот мои соображения на эту тему.
Далее по тексту _имхо_
Уже в версии 1.61 анварп был покруче стандартного максовского.
С появлением DeepUV 1.0 про максовский Unwarp для развертки сложных моделей (или даже не очень сложных :) я и не вспоминаю. Эта тулза конкретно заточена под скинмапинг, что еще тут можно добавить?
 

sfp

Активный участник
Рейтинг
15
#7
Ни коей мере не хотел тебя обидеть.
Человек работает над конкретной игрой (своей), это немного другое, чем делать модели для quake. И потом, там очень низкополигональные модели с маленькими текстурами, сейчас такие уже не используются.
Ты прочитал ссылку, которую я дал выше?
Про DeepPaint:
Он дробит модель на очень мелкие куски, даже если частично делить самому, появятся проблеммы с фасками и скруглениями. Нерационально располагает куски, чтобы их перетащить надо выделять кучу вершин, в максе, если использовать ChilliSkinner таскать нужно куски. Можно все это и там сделать по-человечески, но это займет очень много времени. И ещё ряд претензий, описывать которые не имеет смысла.
Так вот, мелкие куски - это лишние текстурные координаты, значит лишние тормоза, что рилтайме недопустимая роскошь. Мелкие, плохо организованные куски - невозможность сделать лоды с сохранением меппинга. Неэкономно использованное место на карте - уменьшение детализации текстуры, недопустимое для игр, т.к. текстура обычно и так мала. Лишние куски- лишние швы на текстуре. Для начала хватит.
Я работал в DeepPaint, там можно далать классные вещи, но только с рилтайм лоуполи.
Нам присылали скины сделанные в DeepPaint, ни один не прошел.
P.S. Что-то я сегодня много пишу. Свободное время -это вредно :)
 
#8
> Ни коей мере не хотел тебя обидеть.
=)))))

> Человек работает над конкретной игрой (своей), это немного
> другое, чем делать модели для quake. И потом, там очень
> низкополигональные модели с маленькими текстурами, сейчас
> такие уже не используются.
128x128?

> Ты прочитал ссылку, которую я дал выше?
Если ты про chilliskinner, то я его пробовал. Точно не скажу какую версию давно это было. Моделькам а-ля 10 полигонов, разрезанным где надо он делал анфолд корректно. Чуть усложнишь геометрию - после анфолда приходится доводить все ручками. Отсюда вопрос - а зачем он вообще нужен? Даже стандартным Unwarp можно сделать быстрее, если рука набита. Повторюсь, я использовал одну из ранних версий chilliskinner, возможно, сейчас алгоритм unfold подправили.

> Про DeepPaint:
> Он дробит модель на очень мелкие куски, даже если частично
> делить самому, появятся проблеммы с фасками и скруглениями.
Имеешь ввиду V.A.M.P.? Конечно, - удобно, быстро, но крайне нееффективно и неприменимо для игр. Мелкие куски, лишние координаты. Тут я согласен. Хотя при наложение текстур в режиме Projection про текстурные координаты подчас забываешь вовсе, так круто он все в этом режиме склеивает, сглаживает, компенсирует, и т.д. Но я, например, люблю когда все аккуратно, поэтому маппингу уделяю должное внимание.

> Нерационально располагает куски, чтобы их перетащить надо
> выделять кучу вершин,
Куски на карте максимально компактно можно расположить вручную. А выделять их можно по группам одним щелчком. Конечно, я говорю не о результатах автоматической развертки ака V.A.M.P. Чтобы их расположить компактно нужно посвятить этому делу всю жизнь. =) Разворачивать нужно ручками, имхо, в DeepUV это можно сделать быстрее и точнее.

> в максе, если использовать
> ChilliSkinner таскать нужно куски. Можно все это и там
> сделать по-человечески, но это займет очень много времени. И
> ещё ряд претензий, описывать которые не имеет смысла.
> Так вот, мелкие куски - это лишние текстурные координаты,
> значит лишние тормоза, что рилтайме недопустимая роскошь.
> Мелкие, плохо организованные куски - невозможность сделать
> лоды с сохранением меппинга. Неэкономно использованное
> место на карте - уменьшение детализации текстуры,
> недопустимое для игр, т.к. текстура обычно и так мала. Лишние
> куски- лишние швы на текстуре. Для начала хватит.
У меня мапинг сохраняется даже при экспорте через .obj и .lwo.
Непонятно зачем делать лишние швы? При желании можно корректно развернуть модель даже одним куском, но это уже для истинных фанатов =)))

> Я работал в DeepPaint, там можно далать классные вещи, но
> только с рилтайм лоуполи.
> Нам присылали скины сделанные в DeepPaint, ни один не прошел.
Посмотри на досуге DeepUV, хотелось бы услышать твои соображения насчет него.
 
#9
ну по сути примерно понятно что и как.. много нового кроме конкретного указания где копать не услышал 8( но буду терь знать где искать. Просто я как-то уже пробовал разворачивать модель на плоскость для отрисовки на нее текстуры. В максе остались не самые приятные воспоминания.
Сейчас я делаю довольно просто все - скриншот модели по осям из макса - отрисовка, и простое наложение на выбранные полигоны- те что и оттекстурировал. Так как модель не сильно навороченная то стыки обычно и не заметно. Но глюк в чем - оч просто это делать когда много текстур - они точно отрисованы под размер выделенных полигонов и сами ложаться на нада даже подгонять. А вот когда слепливается цельная текстура об этом можно позабыть и просто подгонять. Что раньше и делал. Ну разве что с разверткой получится.

И все же про анимацию. Кто нить конкретно на практике делал и в чем из макса вывод ля игры анимации. Если не мистейк то вполне директ кости стандартные кушает. Но задать этим костям анимацию как в Характер студии руками не оч приятно. А если связать кости с костями Характер студии без деформации первых.. получиться вытащить эти движения или как 8) что по этому поводу скажите 8)

Ну вот почти и все.. по сути конечно услышать бы совет еще со стороны прикладников, в смысле тех кто с играми работает, но кажется такие на эти сайты даже не заглядывают, или я мистейк?
 

sfp

Активный участник
Рейтинг
15
#10
Поправочка:

Я работал в DeepPaint, там можно делать классные вещи, но только НЕ с рилтайм лоуполи.
 
#11
sfp wrote:
>
> Поправочка:
>
> Я работал в DeepPaint, там можно делать классные вещи, но
> только НЕ с рилтайм лоуполи.

Я так и понял =)
 

sfp

Активный участник
Рейтинг
15
#12
В quake 256x256.
Последний ChilliSkinner сшивает ребра, что очень удобно. Unfold вроде работает нормально. Обязательно попробуй.
Причем здесь obj и lwo, кстати при экспорте в obj DeepPaint центрирует модель, что хреново.
Если я правильно понимаю, при сглаживании и компенсировании происходят некоторые небольшие искажения? А как быть с деталями на текстуре?
Чтобы не быть голословными, кинь мне на мыло скрин развертки или карту из-под текспортора - интересно. Я тебе тоже что-нибудь кину. Да, и сколько времени на это ушло.
 
#13

> Чтобы не быть голословными, кинь мне на мыло скрин развертки
> или карту из-под текспортора - интересно. Я тебе тоже
> что-нибудь кину. Да, и сколько времени на это ушло.

Базару нет. На домашнем компе у меня есть развертки той модельки, что я делал под quake3. Обязательно вышлю =)
 
#14
не лбижусь.. чесслово 8) а не в курсе в инете текстури типа как дл якваки или как у гайвера че нить завернутое не валяется?
 
#15
Насколько я понял читая статьи на сайте NVIDIA, кости это довольно просто, но... При создании скелета, важно учитывать, что GPU может обрабатывать, только по две кости на вертекс. Сделать это довольно просто, местами.

Далее модели можно экспортировать с деформациями использую стандартный DX 8.1 SDK экспортер, взять его можно на сайте msdn.microsoft.com, в разделе Download/Graphics and Multimedia/Direct X SDK
или что-то вроде..., но экспортить он будет без скелета, просто как Mesh-анимацию... что в принципе уже бонусно,

но вот еслу нужно делать сам скелет, который DX 8.1 очень хорошо поддерживает, возникает гемор... называемый: "ПОЛНОЕ ОТСУТСВИЕ ИНФОРМАЦИИ ПО СКЕЛЕТНОЙ АНИМАЦИИ В DX", ни на русском, ни на английском ресурсов по этому нет или они так хорошо замаскированны, что их не найдёшь (В Инете)... Книги, если и есть, то только английские по цене примерно 50$, это выход если есть деньги... Книги можно заказать на www.amazon.com, только идти они до России буду доооооолго :)

Что накопал по этому вопросу я:
Судя по хелпу DX SDK и по ихнему приеру skin.exe или чё-то в это роде...
В качестве скелета используется отделный невидимый mesh, скилет... вертексы которого и есть эффекторы костей... Хотя вероятнее всего я ошибаюсь.

Как экспортим мы:
- От скелета мы пока отказались... до лучших времён... Поэтому используем уже с анимированный biped'ом с наложанным physique мешь, экспортим его специальным плуг-ином в x-формат, ну и далее используем в движке...


так что "Ищи и оьрящешь" :)
Можешь писать мне на мыло, если есть вопросы и желание обменятся опытом :)
 
Сверху