Jump to content




Photo

Привязка текстур к моделям OGF


  • Please log in to reply
15 replies to this topic

#1
Shket_n

Shket_n

    Пришедший

  • альтернативный текст
  • Пользователь

КПК - Сталкера
  • Joined:
    25-May 10
  • 6 posts
  • Пропуск №: 1511

0 warning points
Репутация: 0

Репутация: 0
  • Пол:Мужчина
  • Город:Ростов, Россия
Привязка текстур к моделям OGF.

Задался целью изменить внешний вид у существующей модели некоего объекта (файлы OGF). Изменение самой текстуры (файлы ".dds") подробно описано на этом сайте - спасибо теме "Создание костюмов". Как посмотреть модель объекта (файлы ".ogf") - спасибо программке "OGFViewer" (всё находится в данном разделе сайта).
Ниже привожу способ подключения файла с изменённой текстурой к файлу OGF при помощи HEX-редактора. "Топорно", зато сработало.

Раздобыть HEX-редактор. Либо скачать (пустить поиск в Yandex, дистрибутивы не большие, до полумегабайта). Или воспользоваться каким-либо встроенным (я пользовался встроенным в старый-добрый файловый менеджер DosNavigator).
1) Открыть "OGF" в просмотрщике "OGFViewer" (выложен здесь на сайте в комплекте "MS STALKER Utilites Pack.exe").
2) В нём открыть файл "ogf", полюбоваться - приблизив колёсиком мышки.
3) Если хочется - указать путь к папкам текстур: "Настройки" - "Укажите путь к папкам textures". Укажите папку "GameData\Textures". Нужно указать общую папку, где лежат все текстуты игрушки. Они будут автоматически подхватываться просматриваемыми моделями.
4) Для перерисовки моделей и текстур - использовать кнопку ""Перезагрузить модель".
5) Зайти в "Инструменты" - "Информация о моделе". В этом окне будут прописаны пути к файлам текстур, используемым в просматриваемой моделе. Запомним их (например, скопируем в отдельный текстовый файл).
6) Если будем изменять путь к структурам именно просматриваемой модели - то закроем модель в "OGFViewer". Я же советую делать резервные копии, и работать именно с ними.
6) Вот теперь запускаем HEX-редактор и открываем в нём наш файл "ogf". Появятся 2 поля:
- одно поле с символами - в нём недалеко от начала и будет сразу виден один из путей к файлу текстур;
- второе поле с цифрами - шестнадцатиричное представление символов, отображённых в первом поле. Их и будем править, чтобы указать путь до своего файла текстур. Единственое ограничение - длина пути не должна изменяться (количество символов в тексте пути должна остаться прежней).
Сориентироваться по шестнадцатиричным кодам можно "по аналогии". Найти какой-нибудь знакомый символ в первом поле и для него во втором поле найти соответствующий код. Далее - помним, что 16-ричное представление состоит из двух символов соержащих цифры 0...1 и латинские буквы A...F (т.е. число "11" в десятичной системе равно символу "B" в шестнадцатиричной, десятичное "18" = шестнадцатиричное "12"). Также помним последовательность букв латинского алфавита и примерные их коды (латинская буква "A" - десятичный код "65", шестнадцатиричный код "41" - для вычислений можно использовать калькулятор Win в виде "Инженерный"). Каждая следующая буква имеет код на "единицу" больше предыдущей.
7) Для нахождения ссылок на текстуры пользуемся "Поиском", в строку которого вставляем скопированные ссылки на тектуры, которые получили из "OGFViewer". Текст будет найден в первом поле редактора. В текущей строке во втором поле посимвольно (т.е. "покодво") вручную изменяем коды символов, чтобы в первом поле прописался путь к файлам наших текстур.
(примечание: я заметил, что в "OGFViewer" прописываются не все пути к текстурам, на которые имеются ссылки в файле ".ogf". Поэтому советую просмотреть (пролистать) весь файл "ogf" на предмет наличия используемых текстур).
8) Сохраням наши изменения файла "ogf".
9) Открываем модель в "OGFViewer". Одновременно открываем файл текстурки в редакторе (Paint, Adobe Photoshop или др.) и редактируем его. Для получившегося результата в "OGFViewer" нажимаем кнопку "Перезагрузить модель".



#2
Гость_Виталий_Зверь_*

Гость_Виталий_Зверь_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Joined:
    --
  • Пропуск №: 0

0 warning points
Репутация: 0

Репутация: Репутация:

Ну... только хочу добавить сюда урок от BAC9-FLCL

 

Создание новых visual для использования с новыми объектами

К чему изменять текстуры обычных предметов, лучше сделать свои - с собственной внешностью. Сделаем новый visual (модель+текстура), который можно будет указать в свойствах нового предмета.
Возьмем модель банки энергетика drink_nonstop.ogf, сделаем её копию и назовем, скажем, drink_green.ogf, после чего откроем в Hex-редакторе (в принципе, можно и Блокнотом). Метод кустарный, но работающий.
В начале файла вы увидите имя текстуры:

item\item_drink_nonstop

Изменим эту строку на:

item\item_drink_green_1

Внимание! Очень важно, чтобы длина строки с текстурой осталась той же, иначе файл не будет работать.
Всё, теперь вы можете указать в конфиге своего нового предмета новый visual:

[energy_drink_green]:vodka
$spawn     = "food and drugs\energy_drink"
inv_name   = energy_drink_green_name
inv_name_short  = energy_drink_green_short_name
visual    = '''equipments\drink_green.ogf''' ;equipments\drink_stalker.ogf
description   = enc_equipment_energy_drink_green
cost    = 75


#3
CooperAtom

CooperAtom

    Пришедший

  • альтернативный текст
  • Пользователь

КПК - Сталкера
  • Joined:
    06-November 11
  • 1 posts
  • Пропуск №: 5451

0 warning points
Репутация: 0

Репутация: 0
  • Пол:Мужчина
  • Город:уфа, Россия

Shket_n, дай ссылку на OGF Viewer.
 

 
6) Вот теперь запускаем HEX-редактор и открываем в нём наш файл "ogf". Появятся 2 поля:
...

 

 

Где путь к файлу текстур?

------------
[moder]Не нужно цитировать такие большие тексты, достаточно было одного предложения! Учись использовать спойлеры и в конце вопроса вполне достаточно поставить один вопросительный знак!
Посты объединил.

[/moder]



#4
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Joined:
    14-November 10
  • 220 posts
  • Пропуск №: 3158

0 warning points
Репутация: 3

Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток
Хороший урок. Только не понятно, зачем так усложнять? Этот геморой с Нех-редактором, 16-тиричное, 10-иричное... Не проще ли просто блокнотом открыть ogf и переписать путь до текстуры?

#5
Гость_Korpus_*

Гость_Korpus_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Joined:
    --
  • Пропуск №: 0

0 warning points
Репутация: 0

Репутация: Репутация:
Цитата (Fagot)
Не проще ли просто блокнотом открыть ogf и переписать путь до текстуры?

Тут надо бы уточнить, что не все текстовые редакторы способны сохранять в правильном виде именно код модели, а то сохраняют абы что и коверкают кодировку. В итоге получим битый и нерабочий файл. В качестве примера, внутренний редактор менеджера FAR вполне корректно работает с этим моментом, а вот виндовый блокнот очень часто коверкает весь массив файла. Не берусь судить про версии блокнота.
ЗЫ Как вариант, не корячить файл модели, а переделывать саму текстуру или переименовывать в нужную свой вариант текстуры и класть её туда, куда указано в модели.
И по поводу поиска пути к текстуре - открываем файл и вбиваем в поиск "волшебное слово" - model. Вот рядом с ним будет путь к текстуре с её названием. При чём, разные модели используют от одной до пяти и больше текстур - соответственно, их указано будет столько же.



#6
Гость_Василий_Петрович_*

Гость_Василий_Петрович_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Joined:
    --
  • Пропуск №: 0

0 warning points
Репутация: 0

Репутация: Репутация:

Хороший урок. Только не понятно, зачем так усложнять? Этот геморой с Нех-редактором, 16-тиричное, 10-иричное... Не проще ли просто блокнотом открыть ogf и переписать путь до текстуры?


Мне вот настолько интересен стал этот способ, что я ради выяснения кое-каких нюансов специально зарегистрировался. Желаю, вот, спросить: каким же волшебным образом вы это делаете? Вот это мне выдал блокнот при открытии оным модели простой аптечки:
Лицезрим
,
Љ»¶Ѕ0вґ:ЯЛЅ‰»¶=њ!=ЯЛ= Ђ±C§< Ђ1<E
> W equipment\item_aptechka.object \\YURIY\YuriyN \\X-YURY\yuri єT†A\\YURIY\YuriyN ўгD f ^ , Љ»¶Ѕ0вґ:ЯЛЅ‰»¶=њ!=ЯЛ= Ђ±C§< Ђ1<E
> item\item_medkit models\model Ё Ђ ‚»¶ЅЂвґ:ЯЛ= Ђї ™є 4·У+ Ђї’=Д5™є ґ‹‹ґ

То что я выделил зелёным, это и есть ведь путь к текстуре, так? Соотвественно, переписываем текстуру, сохраняя предустановленное количество символов. Изменили, сохранили. Прописываем путь через файлы к нашей "новой" модельке, раскидываем текстурымодели по папкам, запускаем, начинаем новую игру и...:
То что получилось в результате
FATAL ERROR

[error]Expression : fatal error
[error]Function : CModelPool::Instance_Create
[error]File : E:\stalker\sources\trunk\xr_3da\xrRender\ModelPool.cpp
[error]Line : 73
[error]Description : <no expression>
[error]Arguments : Unknown visual type

И ничего...
Так вот, собственно в чём и заключается мой вопрос: всё ли я делаю правильно, и если да, то в чём причина вылета, и если нет, то что именно я делаю не так? Мой дорогой блокнотик запорол мне модель, выходит так?

Edited by Fagot, 18 February 2015 - 11:27.


#7
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Joined:
    14-November 10
  • 220 posts
  • Пропуск №: 3158

0 warning points
Репутация: 3

Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток
Василий_Петрович, как пояснил Korpus выше, иногда такое тоже случается. У меня всё получалось с помощью блокнота , а позже - Notepad++. Ещё бывает, что путь к текстуре указан дважды (в ogf). Проверь, может ты только в одном месте указал.
П.С.: Красный цвет только для администрации сайта!

#8
Гость_Василий_Петрович_*

Гость_Василий_Петрович_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Joined:
    --
  • Пропуск №: 0

0 warning points
Репутация: 0

Репутация: Репутация:


Василий_Петрович, как пояснил Korpus выше, иногда такое тоже случается. У меня всё получалось с помощью блокнота , а позже - Notepad++. Ещё бывает, что путь к текстуре указан дважды (в ogf). Проверь, может ты только в одном месте указал.

С Notepad++ всё получилось, спасибо большое! :)

#9
Гость_pol125493_*

Гость_pol125493_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Joined:
    --
  • Пропуск №: 0

0 warning points
Репутация: 0

Репутация: Репутация:


ЗЫ Как вариант, не корячить файл модели, а переделывать саму текстуру или переименовывать в нужную свой вариант текстуры и класть её туда, куда указано в модели.

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

Эксель особенно удобен в смысле поиска, если грамотно табличку сделать.



#10
stalk873

stalk873

    Новичок

  • альтернативный текст
  • Старожилы

КПК - Сталкера
  • Joined:
    31-December 15
  • 27 posts
  • Пропуск №: 21643

0 warning points
Репутация: 0

Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Илья
  • Пол:Мужчина
  • Город:Кострома

А какой версии должен быть Notepad++ и может быть, какой-то плагин требуется?

Я и версию 2011 года пробовал и 2018-го, все кодировки - всегда видна сплошная абракадабра.

Мне всего-то надо путь к текстуре изменить, Notepad++ лёгкая прога и как раз подошёл бы...



#11
Мерцающий

Мерцающий

    Агент Матрицы

  • альтернативный текст
  • Разработчики
  • Клуб - reaktor
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • Joined:
    14-December 13
  • 777 posts
  • Пропуск №: 9774

0 warning points
Репутация: 2,194

Репутация: 2194 Постов: 777
  • Страна проживания:Россия
  • Реальное имя:Андрей
  • Пол:Мужчина
  • Город:Екатеринбург

stalk873, крокозябры в нотепаде в основном из-за неверно выбранной кодировки страницы. Поюзай разные кодировки в соответствующей менюшке. 



#12
Adm-RAL

Adm-RAL

    Ghost Rider

  • альтернативный текст
  • Нейтралы
  • Клуб - reaktor

КПК - Сталкера
  • PipPipPipPip
  • Joined:
    25-September 15
  • 312 posts
  • Пропуск №: 20431

0 warning points
Репутация: 1,000

Репутация: 1000 Постов: 312
  • Страна проживания:Россия
  • Реальное имя:Андрей
  • Пол:Мужчина
  • Город:Санкт-Петербург

stalk873, на вот проверенный и очень удобный для твоих целей редактор AkelPad. Открывает всё и вся без плясок с бубном. Это автономный дистрибутив из моих кладовых...  :)

Некоторые модели используют больше одной текстуры, пути к которым разбросаны по файлу. Кроме того, как правило, недалеко от пути к текстуре, прописан ещё и шейдер, который с ней работает. Его тоже можно заменять.

Например:

Строка из файла модели - add\add_slow_shoes     models\model

тут Текстура - add\add_slow_shoes, шейдер - models\model

Также, во многих моделях, есть ещё и указания на библиотеки анимаций (omf), которые использует модель. Находятся они ближе к концу файла модели, типа - actors\stalk,actors\fat_,actors\critical_hit_grup_2 - это для НПС (правда, тут уже подключены мои спецом подготовленные библиотеки анимаций).

Главное, не забывать сохранять исходное кол-во символов в файле!

 

Ну и да, любой грамотный моделлер порвал бы за такие методы...  :D Ну да ничего, потерпим... Пока игра не начнёт кашлять от деоптимизации... :crazy: 


Edited by Adm-RAL, 21 August 2018 - 07:12.


#13
stalk873

stalk873

    Новичок

  • альтернативный текст
  • Старожилы

КПК - Сталкера
  • Joined:
    31-December 15
  • 27 posts
  • Пропуск №: 21643

0 warning points
Репутация: 0

Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Илья
  • Пол:Мужчина
  • Город:Кострома
крокозябры в нотепаде в основном из-за неверно выбранной кодировки страницы. Поюзай разные кодировки в соответствующей менюшке.

Все поюзал и всегда кракозябры. Какие-то кругом чёрные квадраты со словом NULL

Проблема-то в том, что я не разбираюсь, когда абракадабра та, что положено, а когда та, которая ненормальная. Или должен быть виден вообще идеально понятный текст?

 

 

на вот проверенный и очень удобный для твоих целей редактор AkelPad. Открывает всё и вся без плясок с бубном.

Спасибо!

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

Но были те ещё кракозябры, только местами видно (зелёным выделено) где пути к текстуре и что-то там с моделями связанное...

Для меня это прогресс. Обошёлся бы простой заменой текстуры, если бы одну и ту же текстуру не использовали несколько персонажей, кроме бандита со сбитыми текстурами.


Edited by stalk873, 21 August 2018 - 15:25.


#14
Adm-RAL

Adm-RAL

    Ghost Rider

  • альтернативный текст
  • Нейтралы
  • Клуб - reaktor

КПК - Сталкера
  • PipPipPipPip
  • Joined:
    25-September 15
  • 312 posts
  • Пропуск №: 20431

0 warning points
Репутация: 1,000

Репутация: 1000 Постов: 312
  • Страна проживания:Россия
  • Реальное имя:Андрей
  • Пол:Мужчина
  • Город:Санкт-Петербург
Но были те ещё кракозябры, только местами видно (зелёным выделено) где пути к текстуре и что-то там с моделями связанное...

Ну, так... Так оно всегда и будет. :) Так сказать, та инфа в файле, которая представляет из себя ТЕКСТ и будет видна ТЕКСТОМ, а вся остальная инфа будет кракозябрами. :)

 

местами видно (зелёным выделено)

Выбери удобную тебе цветовую схему, чтобы глазюки не уставали, при просмотре мегабайт кракозябр... ;)

 

[attachment=18809:12.jpg]

 

Да и вообще, мне иногда кажется, что этот редактор мощнее чем Word, по крайней мере судя по менюхам...  :D



#15
stalk873

stalk873

    Новичок

  • альтернативный текст
  • Старожилы

КПК - Сталкера
  • Joined:
    31-December 15
  • 27 posts
  • Пропуск №: 21643

0 warning points
Репутация: 0

Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Илья
  • Пол:Мужчина
  • Город:Кострома

Adm-RAL, главное, ищется всё элементарно через поиск и файл не ломает при сохранении. Можно запросто правки делать без HEX-редактора, бутылки и окончания 3-х университетов с академией в придачу.

Если знаешь ответственную текстуру, конечно. Но выявить её не сложно. 1-2 минуты и всего делов.



#16
Akill

Akill

    ОП-2-шник

  • альтернативный текст
  • Старожилы
  • Клуб - reaktor
  • Разработчики

КПК - Сталкера
  • Joined:
    05-November 13
  • 100 posts
  • Пропуск №: 9607

0 warning points
Репутация: 1,000

Репутация: 1000 Постов: 100
  • Страна проживания:Россия
  • Реальное имя:Ренат
  • Пол:Мужчина
  • Город:Татарстан, г. Зеленодольск

Акелпад, да, очень удобен, пользуюсь им для редактирования скриптов и лтх файлов. Всё остальное открываю нотпадом с проверкой русского языка для правок текста в моде. Экономит времени вагон.





реклама на сайте подключена

Использование материалов сайта только с разрешения Администрации LENA_D!
Или с указанием прямой ссылки на источник. 2010 © bar-reaktor.stalker-worlds.ru
Не забывай о нас. Мы всегда рады тебе!!!

Рейтинг Ролевых Ресурсов - RPG TOP