Перейти к содержимому


Фотография
- - - - -

Конвертирование моделей в Fallout 3


  • Авторизуйтесь для ответа в теме

#21 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Автор - Heroin Zero, за что ему большая человеческая благодарность!!

экспорт моделей в 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.

------------------------------------------------

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

29574fe2b8fb.gif   <---------- можна жмакнуть



  • Авторизуйтесь для ответа в теме
Сообщений в теме: 40

#22 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

попробуй реэкспортнуть модели через блендер, максовский экспортёр частенько тупит с коллизиями. На худой конец экспортни куда-нить свою модель, открой нифскопом, скопируй оттуда NiTriStripsData, потом открой дефолтную подходящую модель (допустим камень) и вставь туда скопированную NiTriStripsData из своей модели. После этого останется поправить поллизии повершинно в блоке bhkConvexVerticesShape.

А вообще я давно плюнул пользоваться экспортёром для настроек, экспортирую в ниф просто чтоб было, а потом копипастю поблочно NiTriStripsData из своей модели в дефолтную с ручной доводкой до ума. Все вопросы с коллизиями, анимациями и прочим можно и лучше решить средствами нифскопа, чем париться с максом.

29574fe2b8fb.gif   <---------- можна жмакнуть


#23 Ссылка на это сообщение Aldens

Aldens
  • Новенький
  • 23 сообщений

Отправлено

попробуй реэкспортнуть модели через блендер, максовский экспортёр частенько тупит с коллизиями. На худой конец экспортни куда-нить свою модель, открой нифскопом, скопируй оттуда NiTriStripsData, потом открой дефолтную подходящую модель (допустим камень) и вставь туда скопированную NiTriStripsData из своей модели. После этого останется поправить поллизии повершинно в блоке bhkConvexVerticesShape.

А вообще я давно плюнул пользоваться экспортёром для настроек, экспортирую в ниф просто чтоб было, а потом копипастю поблочно NiTriStripsData из своей модели в дефолтную с ручной доводкой до ума. Все вопросы с коллизиями, анимациями и прочим можно и лучше решить средствами нифскопа, чем париться с максом.

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

#24 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

С блендером всё просто - импорт/экспорт, и ты получаешь нормально настроенные нормали (то есть следы от пуль остаются там где надо и т.п.) Предварительно надо только коллизии в нифскопе сделать. Править коллизии повершинно, это значит вручную вводить координаты для каждой вершины шейпа. Перед этим рекомендуется всё обнулить вот так:

Изображение

Там где строка Num Vertices ставим 0, а потом нажимаем кнопачки как на скрине выше. В итоге коллизия убирается полностью. Затем в Num Vertices прописываем нужное количество вершин, и все они оказываются в нулевой координате, далее разворачиваем ветку Vertices и вводим координаты для каждой вершины по очереди. Смещение вершин наблюдается визуально, так что проблем не будет. Надо только помнить, что ВСЕ вершины у шейпа коллизии связаны между собой, поэтому сложной фигуры создать не получится, только что-то шародобное.

29574fe2b8fb.gif   <---------- можна жмакнуть


#25 Ссылка на это сообщение Aldens

Aldens
  • Новенький
  • 23 сообщений

Отправлено

Ясно, спасибо, попробую, тогда отпишусь.
Как же быть с коллизиями сложных объектов, таких как дом, мост, корабль?

#26 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Как же быть с коллизиями сложных объектов, таких как дом, мост, корабль?

Элементарно - делаешь несколько шейпов и всё.

29574fe2b8fb.gif   <---------- можна жмакнуть


#27 Ссылка на это сообщение Aldens

Aldens
  • Новенький
  • 23 сообщений

Отправлено

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

Короче, корабль стоит, коллизия работает четко, но блин, какая-то фигня с текстурой! Такое ощущение, что на корабль налепилось, что первое попалось под руку, а точнее текстура одежды ГГ.
Изображение
Хотя в реале все выглядит так:
Изображение
Поставил материал металл в максе. Появился глянец.
Это что-то типа рефлекшена, под разными углами, меняются текстуры. Где же моя текстура? Вроде все пути верно указал, в нифскопе тоже, в игре в папке тектур. :1262522598_27:
Изображение
Изображение
Блин, не одно, так другое!

#28 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

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

29574fe2b8fb.gif   <---------- можна жмакнуть


#29 Ссылка на это сообщение Aldens

Aldens
  • Новенький
  • 23 сообщений

Отправлено

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

Дело в том, что на модели все родное, я не копипастил в нифскопе вообще ничего, только shader flags, изменил как в модели из игры и путь к текстурам прописал.
Развертка конечно есть.

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

Есть еще подозрения, что нифплагин для макса криво лег. При установке я указывал пути к текстурам и мешам, но после установки, обнаружил, что в папке Autodesk, есть две папки 3dsmax, в одной из них лежал плагин, я просто кинул папки с ним в основную. Макс 2010.

Второй вариант, что в модели развёртка вообще отсутствует - это известная фишка движка Фолла: если на модели в игре нет развёртки, она будет сама натягивать на себя текстуры всего, что находится рядом.

Создал бокс, сделал текстуру с разверткой, текстуру нормалей, коллизию, bone-кость (все свое без аттачей). Экспортировал в нифскоп, упорядочил ветки, удалил левые ноды, указал путь к текстурам, сохранил.
Изображение
Окрыл Гекк, запустил свою карту, добавил модель.
Изображение
запустил игру - таже фигень, что и раньше!
Изображение
Может это полигоны коллизии выделываются, точнее обратная их сторона?
Может я Гекке неправильно объект добавляю?

Ура!
Вся фишка была в проге ArchiveInvalidation Invalidated! Которая создает текстовый файл в игре с прописанными путями для текстур!
Изображение
Изображение
Изображение

#30 Ссылка на это сообщение Shad

Shad
  • Скиталец
  • 54 сообщений

Отправлено

А есть стабильные версии ArchiveInvalidation Invalidated!

#31 Ссылка на это сообщение leogod

leogod
  • Новенький
  • 6 сообщений

Отправлено

Тут снова появился вопрос по поводу коллизии. У меня есть модель состоящая из, примерно, 1500 вертексов (то есть точек, не знаю как они называются). Я создаю копию модели, соединяю точки с расстоянием 0.1, получается примерно 800 точек. А как еще уменьшить модель, без применения "оптимизатора и мультиреса"? Или быстро создать новую но низко полигонную модель? Потому что при 10 таких моделях начинаются жуткие лаги!

#32 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

а со скринами можно как нибудь показать?

29574fe2b8fb.gif   <---------- можна жмакнуть


#33 Ссылка на это сообщение leogod

leogod
  • Новенький
  • 6 сообщений

Отправлено

Вот есть такая модель. Это малая часть лестницы, тоесть ступеньки (есть еще поручни, так с ними вообще беда).
Изображение
Вот, что стало после слияния точек:
Изображение
А вот так хочется чтобы было:)
Изображение

#34 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Так и не понял, при чём тут коллизии...

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

ЗЫ: при 8к вершин в кадре фолл ну никак тормозить не должен.

29574fe2b8fb.gif   <---------- можна жмакнуть


#35 Ссылка на это сообщение leogod

leogod
  • Новенький
  • 6 сообщений

Отправлено

а в том и дело, что в кадре без должной оптимизации получается больше чем 20000 вершин.

Так и не понял, при чём тут коллизии...

Ну так коллизии делаются по упрощенной копии объекта!

#36 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Ну так коллизии делаются по упрощенной копии объекта!

Коллизии прекрасно делаются в самом нифскопе через НиТриШейп например) Без всякой упрощённой копии объекта. Там, если не путаю - есть аж два варианта как сделать коллизию для модели.

29574fe2b8fb.gif   <---------- можна жмакнуть


#37 Ссылка на это сообщение leogod

leogod
  • Новенький
  • 6 сообщений

Отправлено

Коллизии прекрасно делаются в самом нифскопе через НиТриШейп например) Без всякой упрощённой копии объекта. Там, если не путаю - есть аж два варианта как сделать коллизию для модели.


Можно по подробней и с картинками? Очень заинтересован этим методом!

#38 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Можно по подробней и с картинками? Очень заинтересован этим методом!

Не вопрос, можно, но попозже. Скоро начну конвертить свой дробовичок, там заодно и сделаю.

29574fe2b8fb.gif   <---------- можна жмакнуть


#39 Ссылка на это сообщение leogod

leogod
  • Новенький
  • 6 сообщений

Отправлено

Не вопрос, можно, но попозже. Скоро начну конвертить свой дробовичок, там заодно и сделаю.


Ну что буду ждать.

Как там прогресс?

#40 Ссылка на это сообщение Кот Зловред

Кот Зловред
  • 606-й
  • 1 537 сообщений
  •    

Отправлено

Как там прогресс?

http://forum.tesall.ru/topic/6294-klassicheskoe-oruzhie/page__view__findpost__p__155126 - на стадии разворачивания.

29574fe2b8fb.gif   <---------- можна жмакнуть


#41 Ссылка на это сообщение Oorly

Oorly
  • Новенький
  • 11 сообщений

Отправлено

Здраствуйте. Помогите пожалуйста я вытащил модельку головы из Обливиона в ФаллоутНВ она норм отображаецо токо немаргает и неоткрывает рот и т п. как её заставить выражать эмоции. Куда копать?
Если у Вас нет судимости-это не Ваша заслуга, а наша НЕДОРАБОТКА!" Ф.Э. Дзержинский




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых