XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Max Payne
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
SharpShooter

offline
Опыт: 1,529
Активность:
zzzGERTzzz
как создать модельку с изменяющейся текстурой на физиономии

как понял первую часть:
1) прогоняем модельку через милку (экспорт и импорт) запоминаем, какая текстура "висит" на физиономии (например "FaceN.JPG")
2) создаем текстурки с разбитой физиономией ("FaceW.JPG"), и очень разбитой ("FaceB.JPG")
(можно не создавать "FaceB.JPG" если хватит одной добавленной текстуры)
важно:
названия "FaceW.JPG" и "FaceB.JPG" должны быть такой же длинны как и "FaceN.JPG"

3) открываем получившийся файл (*.kf2) HEX-редактором
4) ищем место, где три раза есть "FaceN.JPG" (стоят рядом):
1-е не трогаем
2-е меняем на "FaceW.JPG"
3-е меняем на "FaceB.JPG" (если текстура не создавалась - не меняем)
5) перед ними должно быть что-то вроде "FaceTexture" - запоминаем (регистр важен)
6) сохраняем, закрываем HEX-редактор
7) у NPC-обладателя этой шкурки прописываем

[OnInit]
{
... // тра-ля-ля
// 1-я текстура в группе: нормальный фэйс (FaceN.JPG)
[Message] String = "this->C_AnimateTexture( " 0 "," 0 "," 0 ");";
}

[OnDeath]
{
... // тра-ля-ля
// 2-я текстура в группе: разбитый фэйс (FaceW.JPG)
[Message] String = "this->C_AnimateTexture( " 0 "," 1 "," 0 ");";
// аналогично третья текстура ("this->C_AnimateTexture( " 0 "," 2 "," 0 ");")
//... не придумал, что с ней делать
}
// добавляем
[TextureAnimation]
Texturename = "FaceTexture"; // должно совпадать с "FaceTexture"
GroupIndex = 0;

P.S. на всякий случай ссылка на HEX-редактор (ссылка для скачивания)
http://sunet.dl.sourceforge.net/project/hexplorer/hexplorer/hexplorer%202.6/hex_setup216.exe

Отредактировано SharpShooter, 26.09.2009 в 00:08.
Старый 25.09.2009, 23:55
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Я считаю средне разбитая должна быть в воисэвентах на все повреждения а очень разбитая на смерть OnDeath
Старый 26.09.2009, 00:07
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
SharpShooter, Благодарю, очень доходчего.
Старый 26.09.2009, 00:07
SharpShooter

offline
Опыт: 1,529
Активность:
necumity
хм... на "воисэвенты повреждений"?
Вариант, чуть позже обязательно попробую...

zzzGERTzzz
пожалуйста.
Старый 26.09.2009, 00:24
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
SharpShooter, necumity, Так все получилось, а что насчет не только лица?
necumity, Попробуй объяснить по подробнее про бесконечные текцтуры на лицо.
Спасибо парни, новая фича сам бы не допер наврно)
SharpShooterМилка делает три кадра на материю с названием "Face". Кстати добавил бы информацию к своей статье по милке, а то затеряется в вопросах.

Отредактировано zzzGERTzzz, 26.09.2009 в 01:41.
Старый 26.09.2009, 00:54
SharpShooter

offline
Опыт: 1,529
Активность:
zzzGERTzzz,
эту фишку придумал necumity, я лишь истолковал.

копировал сообщение в тему по "Модельки персонажей через милку, руководство" с небольшими исправлениями.
Старый 26.09.2009, 09:15
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
В общем дополню о бесконечности.
Заранее извиняюсь если что непонятно.
Начнём с главного - при помощи хекс эдитора вы не только можете менять имена текстур но также способны изменять имя самого материала и имя материалов которые присвоены к определённым группам модели игрока.
Например
Откройте любую дефалтную модель из макс пейна, почти любая содержит материал фэйс.
Если вы при помощи поиска попытаетесь найти эту фразу фейс в файле то кроме упоминаний в самом начале кода, где эт оимеет отношение к материалу, вы увидите данное словосочетание ниже по тексту.
Так вот самое последнее это и есть имя того материала, который использует группа.
И скажем если вы меняете имя материала на Facd то вам также стоит изменить это последнее значение.
Что касается того значения которые вы выносите в настройки скинов для анимированной текстуры - оно складывается из имени материала и добавления Texture.
Так-что если вы переименовали Face в Facd то FaceTexture становится FacdTexture и упоминается в таком виде в конфигурации противника.
Не уходя далеко вы можете увидеть что рядом находятся названия и других материалов для других групп тела - body, legs .. и т.д
Что характерно - последовательность материалов также как и последовательность групп в хекс коде соответствует тому как это отображается в милкшейпе.
К чему я это всё сказал - если запомнить порядок расположения материала и группы в списке то можно так же их редактировать. А особенно в случае когда имеется дубликат материала ил новый материал с таким же именем вы легко можете дать ему оригинальное название.
Просто оставьте в одной из сцен с оригиналом анимированной текстуры одну группу и удалите все лишние материалы, затем экспортируйте.
При многократном импорте в новую сцену удалите группы и вы получите несколько таких материй.
Дальше я надеюсь вы поняли что с ними делать
Отдельно оговорю - вы можете двигать ползунки для альфа канала и выбирать другой битмап для материала. Вы не можете переименовывать материал. Это вызовет потерю раскадровки.
Таким образом сфера применения очень большая и возможности потрясающие, но использовать очень неудобно.
Например после взрыва гранаты одна из рук может исчезнуть а на её месте появится кровавый обрубок, при это после такой смены даже тень от персонажа изменится.
Вы можете создать дополнительные модели внутри вашего персонажа которые до какого-то момента будут невидны а затем появятся в сцене, при этом в отличии от скин-аитемов эти части сохраняют все особенности Vertex Weighting.
В общем всё... не знаю что добавить. Я лично это активно использую для расчленёнки.
Кадры не бесконечные, их три, но количество текстур может быть большое

Отредактировано necumity, 26.09.2009 в 19:26.
Старый 26.09.2009, 15:14
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
А можно как-нить настроить материал чтоб он блестел подобно мокрой поверхности но не шейдером?
И вопрос не по теме = а в Call OF Duty 5 когда человеку отстрелили ноги можно потом добивать труп в рагджоле? Руки там и всё такое?

Отредактировано necumity, 26.09.2009 в 17:59.
Старый 26.09.2009, 17:00
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Спасибо в прицыпе вроде все ясно а ясно следующее:
1) Одну текстуру можно присвоить только одной группе и анимировать её максимум в 3 кадра.
2) Такие текстуры можно присвоить всем остальным групам модели.
Я правильно все понял?
И еще распиши пожалуйста все про альфа каналы как менять бегунки и т.д. Есть ли возможность экспортить их через милку.
Старый 26.09.2009, 22:41
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Ну про альфа могу сказать одно = рядом с материалом есть ползунок. Или два.
Перед тем как экспортить модель сдвиньте оба на середину.
Суть в том что экспортирует он только 1-битную альфу, либо полностью прозрачно, либо нет.
Все переходы прозрачности в модели исчезнут.
Один материал можно присвоить любому количеству групп если нужно.
Я не знаю как более понятно сказать.
У вас в сцене может три текстуры с именем FAce но они все будут содержать разные изображения и привязаны к разным группам.
Попробуйте с разными моделями, поймёте что я имею ввиду.

Следующим пунктом программы, я думаю, будет экспорт модели коллизий в игру)
Старый 26.09.2009, 22:57
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Спасибо все понятно объяснил.
Старый 27.09.2009, 00:40
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Нужна помощь = как настроить шейдер чтобы добиться очень интенсивного эффекта мокрой поверхности?
Может ли кто-нибудь помочь
Старый 03.10.2009, 12:50
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Мда... все так налетели с советами =)
Старый 06.10.2009, 21:35
SharpShooter

offline
Опыт: 1,529
Активность:
necumity
хм...
а что именно мокрое требуется?
что-то в этом роде?

[MaxJacketWet]
VShader = "shaders/skin.vsh";
PShader = "shaders/skin.psh";
SpecularColor = ( 1.0, 1.0, 1.2 );
SpecularExp = 300.0;
GrazingColor = ( 0.5, 0.5, 0.7 );
SheenColor = ( 0.2, 0.2, 0.3);

Или что на что влияет?

Картинка прилагается (не знаю, как видно будет)
Миниатюры
Кликните на картинку для увеличения
Название:  shot0002_cr1.jpg
Просмотров: 35
Размер:  36.7 Кбайт  
Старый 07.10.2009, 16:27
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Я так понимаю спекуляр-параметр влияет на интенсивность?
спасибо.
Мне вообще для мяса
Старый 07.10.2009, 17:01
SharpShooter

offline
Опыт: 1,529
Активность:
necumity
тогда следует начать с тотальной замены местами 1 и 3 параметров поменять (RGB)
т.е. например, SpecularColor было ( 1.0, 1.0, 1.2 ) стало ( 1.2, 1.0, 1.0 ) и т.д.
кроме SpecularExp, которую нужно уменьшить чтоб пятно (блик) побольше выглядело (при этом "мягкоть" освещения падает).

а что где значит, экспериментально так получается
//SpecularExp = сила шейдера (чем меньше, тем больше итоговое пятно)
//SpecularExp = блик (RGB)
//GrazingColor = в темноте (RGB)
//SheenColor = шейдер заднего плана и контура (RGB)
...
может так будет понятнее, извини, что не Пикассо : )
Миниатюры
Кликните на картинку для увеличения
Название:  ball.jpg
Просмотров: 24
Размер:  18.9 Кбайт  

Отредактировано SharpShooter, 08.10.2009 в 09:26.
Старый 08.10.2009, 09:17
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Спасибки +)
Довольно красиво нарисовано для пэйнта)
Старый 08.10.2009, 16:29
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
В скелетонах есть текстура тени, в глобалконфиге настройки радиуса. Н оя не думаю что длиннее сделать получится, максимум темнее
Старый 08.10.2009, 20:21
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
ну вы же можете её включить, или вам нужна усложнённая тень?
Старый 09.10.2009, 21:46
iHome Leha

offline
Опыт: 3,004
Активность:
HITMAN0586
Это ты делал в макседе? Как там можно сделать такую гоеметрию? Или это из Макса?
Старый 23.10.2009, 00:25

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 07:39.