| Фикс NifTools - экспорт моделей из 3ds Max в Skyrim |
|
MacoronTMG
(Offline)
|
Сообщение №1 написано: 17.02.2012 в 00:09 |
Обращённый
|
Не знаю как вас, а меня достало отсутствие нормального софта для импорта/экспорта моделей из Скайрима. Так что, если хочешь, чтобы что-то было сделано хорошо - сделай это сам. Решил потренироваться в компиляции собственной софтины, взяв за основы плагин от Niftools. Его исходники как раз лежат в открытом доступе, здесь инструкция как их достать. Только на днях разобрался, как их пересобрать, так что начну творить прямо сейчас.
Основной и стабильный плагин здесь, в нём все версии Max (Я пока буду собирать только 2009).
Changelog плагина Skyrim для (Только 3ds max 2009): Code 16.02.12 * Теперь при экспорте из 3ds max, "Shader Flags 1" устанавливается на постоянное значение "2185233153", то есть больше не потребуется копровать оригинальные куски .nif , при экспорте простой Статики без коллизии Скачать тестовую сборку
Фото настройки:
Если кто владеет C++, было бы здорово помочь общему делу.
|
| |
|
| |
|
KatSSS
(Offline)
|
Сообщение №2 написано: 17.02.2012 в 01:28 |
Странник
|
Любопытно. А скининг корректно экспортируется?
|
| |
|
| |
Kris†a™
(Offline)
|
Сообщение №3 написано: 17.02.2012 в 12:16 |
Подмастерье
|
Quote (MacoronTMG) Теперь при экспорте из 3ds max, "Shader Flags 1" устанавливается на постоянное значение "2185233153" Скин тела использует 2187334403. Голова 2185238275 и т.д.
Значение зависит от используемого шейдера. Сколько шейдеров - столько и разных значений для них.
My Blog: Kris†a™: CG Art & Games Modding
Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
|
| |
|
| |
|
MacoronTMG
(Offline)
|
Сообщение №4 написано: 17.02.2012 в 23:59 | Отредактировано: MacoronTMG - Суббота, 18.02.2012, 00:06 |
Обращённый
|
Вот полный список шейдоров из Niflib, каждый шейдер складывается, образую общую сумму: Code enum BSShaderFlags { SF_SPECULAR = 1, /*!< Enables Specularity */ SF_SKINNED = 2, /*!< Required For Skinned Meshes */ SF_LOWDETAIL = 4, /*!< Lowddetail (seems to use standard diff/norm/spec shader) */ SF_VERTEX_ALPHA = 8, /*!< Vertex Alpha */ SF_UNKNOWN_1 = 16, /*!< Unknown */ SF_SINGLE_PASS = 32, /*!< Single Pass */ SF_EMPTY = 64, /*!< Unknown */ SF_ENVIRONMENT_MAPPING = 128, /*!< Environment mapping (uses Envmap Scale) */ SF_ALPHA_TEXTURE = 256, /*!< Alpha Texture Requires NiAlphaProperty to Enable */ SF_UNKNOWN_2 = 512, /*!< Unknown */ SF_FACEGEN = 1024, /*!< FaceGen */ SF_PARALLAX_SHADER_INDEX_15 = 2048, /*!< Parallax */ SF_UNKNOWN_3 = 4096, /*!< Unknown/Crash */ SF_NON_PROJECTIVE_SHADOWS = 8192, /*!< Non-Projective Shadows */ SF_UNKNOWN_4 = 16384, /*!< Unknown/Crash */ SF_REFRACTION = 32768, /*!< Refraction (switches on refraction power) */ SF_FIRE_REFRACTION = 65536, /*!< Fire Refraction (switches on refraction power/period) */ SF_EYE_ENVIRONMENT_MAPPING = 131072, /*!< Eye Environment Mapping (does not use envmap light fade or envmap scale) */ SF_HAIR = 262144, /*!< Hair */ SF_DYNAMIC_ALPHA = 524288, /*!< Dynamic Alpha */ SF_LOCALMAP_HIDE_SECRET = 1048576, /*!< Localmap Hide Secret */ SF_WINDOW_ENVIRONMENT_MAPPING = 2097152, /*!< Window Environment Mapping */ SF_TREE_BILLBOARD = 4194304, /*!< Tree Billboard */ SF_SHADOW_FRUSTUM = 8388608, /*!< Shadow Frustum */ SF_MULTIPLE_TEXTURES = 16777216, /*!< Multiple Textures (base diff/norm become null) */ SF_REMAPPABLE_TEXTURES = 33554432, /*!< usually seen w/texture animation */ SF_DECAL_SINGLE_PASS = 67108864, /*!< Decal */ SF_DYNAMIC_DECAL_SINGLE_PASS = 134217728, /*!< Dynamic Decal */ SF_PARALLAX_OCCULSION = 268435456, /*!< Parallax Occlusion */ SF_EXTERNAL_EMITTANCE = 536870912, /*!< External Emittance */ SF_SHADOW_MAP = 1073741824, /*!< Shadow Map */ SF_ZBUFFER_TEST = 2147483648, /*!< ZBuffer Test (1=on) */ }; Сейчас хочу попробовать сделать более разумный выход этой функции в NifSkope, то есть не численный, а именно в виде флагов. Получится или нет не знаю, буду пытаться .
Добавлено (17.02.2012, 23:59) --------------------------------------------- ==================================== Новая ночь - новые новшества. Теперь ещё перекомпоновал NifSkope, для полного счастья.
Changelog плагина Skyrim для (Только 3ds max 2009): Code 17.02.12 * Изменил стандартные флаги шейдеров при экспорте модели, теперь для Shader Flags 1 это: SLSF1_SPECULAR|SLSF1_3|SF_ALPHA_TEXTURE|SLSF1_CAST_SHADOWS|SLSF1_22|SLSF1_ZBUFFER_TEST Для Shader Flags 2 это: SLSF2_ZBUFFER_WRITE|SLSF2_15|SLSF2_VERTEX_COLOR На мой взгляд, так достинута максимальная совместимость при простой модели.
* Теперь при настройке экспорта, плагин правильно определяет NiNode или BSFadeNode ей выгонять. Раньше всегда выгонялся NiNode Скачать здесь
Changelog для NifSkope: Code 17.02.12 * Теперь Shader Flags 1 и Shader Flags 2 отображаются как флаги, а не цифры. Удобность пользования возрастает в разы * Добавил библиотеку Shader Flags 2, там много не расшифрованных, тут уже сами разбирайтесь методом научного тыка
Скачать здесь
|
| |
|
| |
|
KatSSS
(Offline)
|
Сообщение №5 написано: 20.02.2012 в 23:15 |
Странник
|
Хм... за Нифскоп пасибо.
Блин, и что, на 2009 переходить теперь Эх, жисть моя жистянка.
|
| |
|
| |
|
Вальтэр
(Offline)
|
Сообщение №6 написано: 21.02.2012 в 03:07 | Отредактировано: Вальтэр - Вторник, 21.02.2012, 03:08 |
Странник
|
Слушай а как вопрос обстоит с коллизиями? Их блин ни МАХ ни скоп невидят в скайриме.
Добавлено (21.02.2012, 03:07) ---------------------------------------------
Вальтэр
|
| |
|
| |
|
KatSSS
(Offline)
|
Сообщение №7 написано: 21.02.2012 в 10:33 |
Странник
|
Вальтэр, есть мнение, что Мах хотя и не видит/не отображает коллизий, но тем не менее их портует.
|
| |
|
| |
|
MacoronTMG
(Offline)
|
Сообщение №8 написано: 21.02.2012 в 10:43 |
Обращённый
|
Я нашёл очень интересный способ выгонки коолизии для статики, который действительной работает. Это не идеальный вариант, но хоть что-то.
1) Импортируем модель в 3ds max 2) Если мешов несколько (Модель, у которой куски с разной текстурой), клонируем каждый меш и сшиваем клоны (Attach или Collapse) 3) На новый единый меш, кидаем модификатор bhkRigidBody 4) В настройках модификатора, выбираем Convex Shape и отмечаем галочку Enable Optimize 5) В настройка модификатор находим пункт CloneMesh и нажимаем его. У нас должен был создаться Object01 - это, и есть наша коолизия 6) Удаляем единый меш, которые мы создали в пункте 2) 6) Уменьшаем полученный Object01 на 0,05 через Scale 7) Выгоняем на экспорт в Скайрим, галочку Coolision естественно поставить.
Вот у нас готов наш замечательный nif, только он всё равно вылетает. Чтобы не вылетал нужно:
1) Открыть его в NifSkope, найти пункт bhkCollisionObject\bhkRigidBodyT\ в нём найти строку Unknown 7 Shorts 2) Переписать все Unknown 7 Shorts до нулей. Там должно стоять 7 случайных значений. 3) Найти пункт bhkCollisionObject\bhkRigidBodyT\bhkConvexVerticesShape 4) В нём найти запись Radius и задать ей значение 1.
Минус этого способа, в том что нельзя задать мульти-коолизию из нескольких материалов. Но пока это единственный рабочий способ. Я посмотрю, удастся ли немного автоматизировать процесс, чтобы в NifSkope больше не потребовалось ничего переписывать.
|
| |
|
| |
|
Вальтэр
(Offline)
|
Сообщение №9 написано: 21.02.2012 в 14:13 | Отредактировано: Вальтэр - Вторник, 21.02.2012, 14:19 |
Странник
|
Ещё вопрос - плагин этот под 2009, а у мну 2010. Будет робить или нет смысла менять? Да и конечно хотелосьбы имень полноценный плагин и скопку, ато просто мучения какието. Далее просмотрев мешку мрачного замка пришел к следующему умозаключению, модели многополигонные и многосоставляющие, проще сказать- мона будет собирать архитектуру целиком или как в обле обрывками мешек ( отдельно стена, отдельно окно, отдельно кровля)?
Вальтэр
|
| |
|
| |
|
Gvinpin
(Offline)
|
Сообщение №10 написано: 21.02.2012 в 14:38 |
Ы
|
Quote (Вальтэр) модели многополигонные и многосоставляющие Если в Максе сцены собирать то получиться гораздо болеее лёгкий вариант для меня таки до сих пор загадка высокополегональность простейших моделей
|
| |
|
| |
|
Alex__Angel
(Offline)
|
Сообщение №11 написано: 21.02.2012 в 15:47 | Отредактировано: Alex__Angel - Вторник, 21.02.2012, 15:48 |
Ученик
|
Quote (Вальтэр) мона будет собирать архитектуру целиком или как в обле обрывками мешек ( отдельно стена, отдельно окно, отдельно кровля)?
Тут есть несколько критериев.
MacoronTMG Спасибо! Вечером опробую
|
| |
|
| |
|
MacoronTMG
(Offline)
|
Сообщение №12 написано: 21.02.2012 в 17:16 |
Обращённый
|
Поправка, уменьшать на не в 0.05 раз, а в 0.10. Кстати я уже пересобрал плаг, с новыми значениями Unknown 7 Shorts и Radius, то есть теперь не нужна маяться с нифскопом. Выложу чуть позже для 2009 и 2012 версии
|
| |
|
| |
Kris†a™
(Offline)
|
Сообщение №13 написано: 21.02.2012 в 18:20 |
Подмастерье
|
хм... а для 2010 64-бит не будет?
My Blog: Kris†a™: CG Art & Games Modding
Мы отстроили реальный мир, превратив его в убожество, теперь отстраиваем виртуальные, надеясь на лучшее... ©
|
| |
|
| |
|
Вальтэр
(Offline)
|
Сообщение №14 написано: 22.02.2012 в 00:28 |
Странник
|
Да , да для 2010 64 - очень нуно.
Вальтэр
|
| |
|
| |
|
MacoronTMG
(Offline)
|
Сообщение №15 написано: 22.02.2012 в 10:13 |
Обращённый
|
Вот вышла официальная новая сборка NifSkope, скачать здесь Что касается версий Макса, чтобы создать для них плагин, мне нужен Max SDK от них. И только 32 битные.
|
| |
|
|
|