Войти
ПрограммированиеФорумОбщее

Помогите с прикриплением моделей одежды к модели персонажа

#0
23:07, 4 сен 2009

Доброго времени суток.

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

Подкинте идею как это можно сделать.

#1
23:22, 4 сен 2009

ГЫ я тоже об этом думаю =)
пока додумал до разбиения персонажа на части

Голова - к ней можно крепить шлем
Тело - верх шмота плюс возможно плечи
Ноги - если тело не ряса то брюки
Ноги - ботинки
Руки - перчатки
Меч

Все это придется анимировать под стандартные движения персонажа, тут деваться некуда, так как считать вертексы и их искривления чрезмерная нагрузка

Все экономнее чем для каждой шмотки и их вариаций грузить чара целиком

А еще вид некоторых шмоток можно менять только текстуру, только это надо учесть в программе

#2
23:29, 4 сен 2009

VDragon
Давай думать над проблемой вместе.
Как говориться одна голова хорошо, а две лучше.

Толька что радилась у меня идея! А что если шмот прикреплять к костям.

#3
23:29, 4 сен 2009

VDragon
> Меч
Мы в каком веке живём ? :)

#4
23:45, 4 сен 2009

Mekrod
Ну если подменять не хочешь, можешь сначала тело, потом одежду (или наоборот: сначала одежду, потом тело - чтобы снизить overdraw). В продакшене одежда скинится моделером по скелету персонажа. Если скелеты персонажей примерно похожи, то одна и та же одежда будет нормально скиниться на них на всех.

Чтобы предотвратить проблему с выступающими сквозь одежду частями тела (омг), можешь сделать так: с каждой проблемной парой {конкретная рубашка, конкретный персонаж} сопоставить маленькую текстурку (рисуется моделером) с маской (можно объединить несколько таких в атлас!), по которой шейдер персонажа (а не одежды) будет либо делать тупо texkill, либо модулировать выходную альфу, чтобы не выводить пиксели выступающих из-под одежды частей.

Кстати, тема действительно больная. Как вы думаете, почему в Обливионе все персонажи всех рас имеют одну и туже модель туловища (ну точнее две - одна мужская на всех, одна женская на всех)?

#5
23:53, 4 сен 2009

Потому что проще проще реализовать смену шмота на одинаковых частях тела.
Или не надо заморачиваться на создания разного шмота для разных частей тела. А то так наделал разного шмота и можно его применять ко всем NPC во всей игре.

#6
0:03, 5 сен 2009

Да кстати там и модли рук тоже дуже не различаются покрайней мере в Morrowinde. В)))

#7
0:08, 5 сен 2009

Mekrod
Руки в морровинде - это как раз наоборот, пример, как на один и тот же скелет делается несколькл разных мешей. Конкретные меши для рук задаются в Construction Set'е отдельно для каждой расы и каждого пола, как, впрочем, и все остальное.

#8
0:14, 5 сен 2009

Wraith
Погоди я правильно тебя понимаю - Это что ты хочешь сказать что меши присваиваются к скелету отдельно.
Т.е. как я понял скилет есть один а мешей много  и при смене одежды заменяется меш рук например если одеть перчатки так что ли.

#9
0:28, 5 сен 2009

Mekrod
Не, прикреплении к костям не покатит.
1. Девочки ходят в юбочках, это ткань, ткань должна гнуться плавно
2. Кости требуют пересчета геометрии (см п 1) а значит нагрузят процессор,
если у нас 1 перс то норм, а если их штук 100 и все как попугаи в разном шмоте, будут лаги
так как для каждого их телодвижения нужно будет считать каждую шмотку

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

Wraith
> Кстати, тема действительно больная. Как вы думаете, почему в Обливионе все
> персонажи всех рас имеют одну и туже модель туловища (ну точнее две - одна
> мужская на всех, одна женская на всех)?

угу а еще можна ввести несколько рас, и для каждой сделать свой шмот =)

а в WOW, если одеть рясу и попробовать поплавать, то узреешь страшное
под рясой нет ног =) именна так они боряться с пересечением полигонов

X512
>> Меч
> Мы в каком веке живём ? :)
Есть такое направление, Фантази. Там храбрые войны с мечами и другим холодным оружием борятся
с драконами, гоблинами и т.п.
А еще есть джидаи, они тоже машут мечами =) Световыми.
Так что меч это норм ;)

#10
2:54, 5 сен 2009

VDragon
так что предлагаешь сделать все детали перса отдельно и анимировать их и сохранять как мешь анимацию. так что-ли.

#11
7:52, 5 сен 2009

Mekrod
> Погоди я правильно тебя понимаю - Это что ты хочешь сказать что меши
> присваиваются к скелету отдельно.
> Т.е. как я понял скилет есть один а мешей много и при смене одежды заменяется
> меш рук например если одеть перчатки так что ли.
Ну в морровинде и в обливионе так, да. Поэтому если у персонажа броня типа "боевой лифчик", то прямо в модельке брони есть незакрытые броней части тела. Go figure.

#12
0:22, 6 сен 2009

Парни скачал модели с Линейч 2 там вообще они все побитые на кусочки. Поясню лицо, волосы, кисти, туловище, ноги, ступни.
Вопрос а как они внутри движка cобираются в единое целое.

#13
0:13, 7 сен 2009

Mekrod
> Парни скачал модели с Линейч 2 там вообще они все побитые на кусочки. Поясню
> лицо, волосы, кисти, туловище, ноги, ступни.
> Вопрос а как они внутри движка cобираются в единое целое.

ну как как, рисуются по кусочкам там где надо
кстати, а модели там были с анимацией или без ???

ПрограммированиеФорумОбщее

Тема в архиве.