Конвертирование моделей в Fallout 3
#21
Отправлено
экспорт моделей в Fallout 3.
основное: экспорт простой модели для использования со стандартной коллизией.
-------------------------------------------
Необходимые инструменты:
- 3ds max более-менее не старой версии.
- Niftools plugin, версия с поддержкой fallout 3. (http://fallout3nexus...ile.php?id=2086)
- Nifscope версия с поддержкой fallout 3. (http://fallout3nexus...ile.php?id=6064)
-------------------------------------------
Допустим, мы имеем какую либо модель в формате *3ds или *obj, для примера - огнетушитель.
- Импортируем его в макс.
- Далее импортируем в макс с помощью Niftools plugin модель огнетушителя из игры. Насколько помню - стандартные настройки импорта вполне рабочие. Он нам нужен только для определения наиболее точного расположения и масштабирования нашей модели. Если в этом нет необходимости, можно не импортировать его.
- Изменяем нашу модель огнетушителя, поворачиваем, подгоняем по масштабу согласно огнетушителю из игры и т.п., делаем с ней всё необходимое.
- Далее удаляем всё, что касается игрового огнетушителя.
Экспортируем нашу модель в *nif по следующим настройкам (желательно перед экспортом преобразовать модель в editable mesh, если это ещё не было сделано):
Далее, открываем нашу модель и модель оригинального огнетушителя в двух окнах nifscope:
- Первым делом открываем в нашей модели ветку меша и удаляем из нее NiMaterialProperty и BSShaderPPLightingProperty.
- Затем с помощью block>copy branch и block>paste branch копируем эти блоки из ветки меша оригинального огнетушителя и вставляем в ветку меша нашего огнетушителя. Это нужно для того, чтобы модель отображалась в игре. Если не сделать этого, она будет невидима. Я долго пытался подобрать параметры экспорта из 3ds max что бы обойти этот шаг, но так ничего и не добился.
- Затем открываем в ветке нашего меша ветку BSShaderPPLightingProperty, скопированную из оригинального огнетушителя, и в block details исправляем путь к текстуре на нужный нам.
- Далее копируем из оригинального огнетушителя в наш ветку bhkCollisionObject, то есть коллизию. Зачем это надо? Если вы создаете похожие по форме объекты - нет нужды каждый раз создавать коллизию в максе. Достаточно просто скопировать ее из похожего по форме меша - это занимает гораздо меньше времени.
Ну вот и все. Сохраняем и идем смотреть в игре.
PS: Если модель в игре кажется слишком угловатой - открываем её в нифскопе, нажимаем на ветке меша правой кнопкой, выбираем mesh>smooth normals>ok
Если на модели в игре инвертированно отображается самозатенение - открываем ее в нифскопе, нажимаем на ветке меша правой кнопкой, выбираем mesh>face normals.
------------------------------------------------
Если у кого-то есть вопросы, замечания, дополнения по этому делу, будем рады выслушать их в этой теме.
#22
Отправлено
А вообще я давно плюнул пользоваться экспортёром для настроек, экспортирую в ниф просто чтоб было, а потом копипастю поблочно NiTriStripsData из своей модели в дефолтную с ручной доводкой до ума. Все вопросы с коллизиями, анимациями и прочим можно и лучше решить средствами нифскопа, чем париться с максом.
#23
Отправлено
Не хотелось конечно еще и с блендером путаться, ну на крайняк попробую.попробуй реэкспортнуть модели через блендер, максовский экспортёр частенько тупит с коллизиями. На худой конец экспортни куда-нить свою модель, открой нифскопом, скопируй оттуда NiTriStripsData, потом открой дефолтную подходящую модель (допустим камень) и вставь туда скопированную NiTriStripsData из своей модели. После этого останется поправить поллизии повершинно в блоке bhkConvexVerticesShape.
А вообще я давно плюнул пользоваться экспортёром для настроек, экспортирую в ниф просто чтоб было, а потом копипастю поблочно NiTriStripsData из своей модели в дефолтную с ручной доводкой до ума. Все вопросы с коллизиями, анимациями и прочим можно и лучше решить средствами нифскопа, чем париться с максом.
Повершинно править коллизии, это относительно донора смотреть настройки, или там особые заморочки?
Копипастом тоже пробовал, только вот знать бы, как до ума? Это в смысле в ветках-бранчах, настройки править, или подгонка просто визуальная?
#24
Отправлено
Там где строка Num Vertices ставим 0, а потом нажимаем кнопачки как на скрине выше. В итоге коллизия убирается полностью. Затем в Num Vertices прописываем нужное количество вершин, и все они оказываются в нулевой координате, далее разворачиваем ветку Vertices и вводим координаты для каждой вершины по очереди. Смещение вершин наблюдается визуально, так что проблем не будет. Надо только помнить, что ВСЕ вершины у шейпа коллизии связаны между собой, поэтому сложной фигуры создать не получится, только что-то шародобное.
#27
Отправлено
решил поэкспериментировать на кораблике. Загрузил в макс кораблик из Фолла, загрузил свой, сделал со своего клона, не стал создавать коллизию с помощью инструментов, а просто приаттачил к донорской коллизии клона. Затем так же прилепил саму модель, удалил лишнее и экспортировал.
Открыл в Нифскопе свою и модель того же корабля из игры. Заменил материал на такой же как на оригинале. Сохранил.
Открыл в гекке, все гуд, сохранил, запустил игру.
Короче, корабль стоит, коллизия работает четко, но блин, какая-то фигня с текстурой! Такое ощущение, что на корабль налепилось, что первое попалось под руку, а точнее текстура одежды ГГ.
Хотя в реале все выглядит так:
Поставил материал металл в максе. Появился глянец.
Это что-то типа рефлекшена, под разными углами, меняются текстуры. Где же моя текстура? Вроде все пути верно указал, в нифскопе тоже, в игре в папке тектур.
Блин, не одно, так другое!
#28
Отправлено
Второй вариант, что в модели развёртка вообще отсутствует - это известная фишка движка Фолла: если на модели в игре нет развёртки, она будет сама натягивать на себя текстуры всего, что находится рядом.
#29
Отправлено
Дело в том, что на модели все родное, я не копипастил в нифскопе вообще ничего, только shader flags, изменил как в модели из игры и путь к текстурам прописал.NiTriStripsData поменяй на аналогичное из своей модели. Информация о развёртке хранится именно там.
Второй вариант, что в модели развёртка вообще отсутствует - это известная фишка движка Фолла: если на модели в игре нет развёртки, она будет сама натягивать на себя текстуры всего, что находится рядом.
Развертка конечно есть.
Ладно, буду все проверять, снова и снова. Может при аттаче, в максе изменились параметры текстуры, хотя в выпадающем меню, ставил галку на сохранения материала основной модели.
Есть еще подозрения, что нифплагин для макса криво лег. При установке я указывал пути к текстурам и мешам, но после установки, обнаружил, что в папке Autodesk, есть две папки 3dsmax, в одной из них лежал плагин, я просто кинул папки с ним в основную. Макс 2010.
Создал бокс, сделал текстуру с разверткой, текстуру нормалей, коллизию, bone-кость (все свое без аттачей). Экспортировал в нифскоп, упорядочил ветки, удалил левые ноды, указал путь к текстурам, сохранил.Второй вариант, что в модели развёртка вообще отсутствует - это известная фишка движка Фолла: если на модели в игре нет развёртки, она будет сама натягивать на себя текстуры всего, что находится рядом.
Окрыл Гекк, запустил свою карту, добавил модель.
запустил игру - таже фигень, что и раньше!
Может это полигоны коллизии выделываются, точнее обратная их сторона?
Может я Гекке неправильно объект добавляю?
Ура!
Вся фишка была в проге ArchiveInvalidation Invalidated! Которая создает текстовый файл в игре с прописанными путями для текстур!
#31
Отправлено
#34
Отправлено
Если я верно тебя понял - тебе нужны ровные плоскости в виде ступенек? Если да, так проще, имхо, в максе их с нуля сделать, чем эти колупать. Но если хочешь помучиться, в режиме рёбер поубивай все рёбра внутри каждой ступеньки, а потом переключись на вершины и поудаляй лишние с граней. На каждую ступеньку по 4 вершины за все глаза и уши.
ЗЫ: при 8к вершин в кадре фолл ну никак тормозить не должен.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 скрытых