Перейти к контенту

Рекомендуемые сообщения

Vadimische, почему? Батник может же находить слово в документе, вот пусть он считает что .ogf - это документ и там пусть ищет ссылку на текстуру:

А¤fї Ђ9pdhѕ¬Єf?ЂОм?ўZ> Ђ=8фТl?P%Ь»ЫЄ§? W convert \\TERMITUM_MOBILE\Termit \\ELEPHANT\vovan qG@\\TERMITUM_MOBILE\Termit {?dE $я © , А¤fї Ђ9pdhѕ¬Єf?ЂОм?ўZ> Ђ=8фТl?P%Ь»ЫЄ§?

act\act_stalker models\model H, 3$± !TXѕ_АU?®л=К_‚ѕ„%їUu8?Ѕ_{їИRU=KN:ѕMэw?/Ґщ»x ~> uјљ>aѓЯ? ‰вiѕљ

S?y?}<Rѕ ѕZ¶VїЏ?Ѕ_{їИRU=KN:ѕMэw?/Ґщ»x ~> ]ё–>WЯ? Ђ]ѕMҐW?тЄОЅo‰V>ю5ЯѕД`їЁхx?ѓ»Щ|n>МSm?¤^ѕэ?±> а‡>‚ЌЪ? ДцKѕ"IT?ЬЙ®Ѕнр7> P%їDы=їЁхx?ѓ»Щ|n>МSm?¤^ѕэ?±> †ц†>ІsЫ? …_ѕkFT?ЂёЅќT<-»ї9ь3Ѕ †ц†>ІsЫ? БРVѕQS?ґ"¤<ќT<-»ї9ь3Ѕ ]ё–>WЯ?! ! ВL&їф ®?q

 

Изменено пользователем Strelok_124

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Strelok_124

Потому что не получится так просто вывести бинарный фаил в текстовый вид, да же если как то получится то по каким критериям вести поиск текстур ( постоянно разные и да же без расширения )

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Vadimische, расширения нет и файлы разные, нужно подумать.... А как это делает программа, например на С++?

OGF Master при конвертации выдает список прикреплённых к моделе текстур.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starter   

Strelok_124, Тут Vadimische прав, в виде бинара батник с файлами не работает. Уже проверено. Блокнот лишь открывает то что может открыть но блокнот не на батнике же написан. Я сам давно хотел сделать для себя то что ты сейчас просишь. Я сохранил модель в txt файле и пробовал в шём ковирятся батником. Выбило на первом же символе. С++ будет работать с бинаром. Проверено - пример: программа Худ-помощник в теме Худ ТЧ: Смена рук при смене костюма.

Насчёт расширения. Конечно в файле не отображается расширение но сколько работал с моделями в таком виде я всегда находил при помощи выражения models\model. Всегда перед этим выражением будет стоять путь до текстуры.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Strelok_124

ВОТ пока только удалось сделать в виде приложения - выводит из модели текстуры и анимации, но это только сырая версия

Ограничения : в папке с программой должна быть только одна ogf модель помещенная туда вручную :ny_ph34r_1:

 

Starter, Сможешь доработать так чтобы в листе Textures.txt заменить во всех строках фразу "Map_Ka" на "Textures\" и в листе Animations.txt убрать расширения ".smd" из имен.

 

Добавлено через 3 мин.:

Strelok_124

ВОТ пока только удалось сделать в виде приложения - выводит из модели текстуры и анимации, но это только сырая версия

Ограничения : в папке с программой должна быть только одна ogf модель помещенная туда вручную :ny_ph34r_1:

 

Starter, Сможешь доработать так чтобы в листе Textures.txt заменить во всех строках фразу "Map_Ka" на "Textures\" и в листе Animations.txt убрать расширения ".smd" из имен.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Задача решена - теперь БАТник выглядит вот так :

@ECHO OFF
if exist *.ogf ( goto continue ) else exit
:continue
for %%a in ("*.ogf") do set nameogf=%%a
set name=%nameogf:.ogf=%
@bin\ogf2smd.exe %nameogf%
@bin\ogf2obj.exe %nameogf% %name%.obj
del /F /Q smd\reference.smd
for %%b in ("smd\*.smd") do ren %%b %%~nb
md %name%
dir /B smd\ > "%name%\Animations.txt"
set find=Map_Ka
set repl=Gamedata\textures\
setlocal enabledelayedexpansion 
for /F "tokens=* delims=," %%c in ('Findstr /I "map_ka" ogfmodel.mtl') do ( 
set text=%%c
set text=!text:%find% =%repl%! 
@echo !text!>> %name%\Textures.txt
)
endlocal
del /F /Q *.obj *.mtl *.log
rmdir /S /Q smd
:: move %nameogf% %name%\
exit

 

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Vadimische

Может стоит попробовать совместить с конвертером, чтобы извлекать весь набор отдельных анимаций из OGF или OMF файлов ?

Поделиться этим сообщением


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

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starter   
Vadimische, Ок. Вот у Charsi есть способ рабочий по вытаскиванию путей до текстур. Скоро он должен в теме отписать.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

~ Все таки допилил конвертер от Бардака сделав его универсальным с помощью нового БАТника ~

Описание :

1 ) Теперь не нужно вписывать вручную список извлекаемых Skl анимаций, т.к. они будут находиться автоматически

2 ) Извлекается из модели все что можно извлечь "Skl + Skls + Object + Bones", а так же создается "Textures_List.txt" с перечнем используемых моделью текстур

3 ) Все извлеченное будет помещено в отдельную папку с именем самой модели

__Примечание ! : Конвертер работает только с одной приложенной к нему моделью ogf !

ССЫЛИЩЕ

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Vadimische,

Какая полезная вещь однако, спасибо.

Ещё один способ.

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

Изменено пользователем Kontro-zzz

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Charsi   

Для каждого файла моделей в текущей папке создается текстовый файл со списком текстур, шейдеров, костей, материалов и анимаций (если они есть). Запуск батника без параметра обработает все файлы. Для обработки конкретного файла киньте его на батник. Скачать

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос : а как выделить только первую строку из списка создаваемым командой DIR из нескольких файлов ?

 

Charsi

Спасибо, а есть какие нибудь ключи для батника что бы показало например только список текстур ?

 

 

Изменено пользователем Vadimische

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starter   
Vadimische, Если у тебя список строится при помощи цикла (например for) то в этом цикле в самом конце после всех действий поставь break.

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

И еще вопросик : чти конкретно делает команда "tokens" ? - что за подстроки оно определяет :ny_ph34r_1:

( если поставить tokens=1 что будет происходить ? )

Изменено пользователем Vadimische

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Starter   

Vadimische, Используй команду help. Узнать подробнее о командах - вводи /? после команды. Например узнать всё про for вводи так: for /?.

tokens=x,y,m-n - номера подстрок из каждой строки, передаваемые в тело цикла "for" для каждой итерации. При использовании этого ключа выделяются дополнительные имена переменных. Формат m-n представляет собой диапазон подстрок с номерами от m по n. Если последний знак в строке tokens= является звездочкой, создается дополнительная переменная, значением которой будет весь оставшийся текст в строке после разбора последней подстроки.

 

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
purke62   
Для каждого файла моделей в текущей папке создается текстовый файл со списком текстур, шейдеров, костей, материалов и анимаций (если они есть). Запуск батника без параметра обработает все файлы. Для обработки конкретного файла киньте его на батник. Скачать

Это может быть путь, чтобы вытащить все анимации. OMF файлов.Я пробовал его на один . OMF.Я только изменил расширение на. OGF.Я получил список всех анимаций.

Textures - Shaders :

 

Bones - Materials :

 

Animations :

pereday_svoim_ya__

idle_non_stop

spinka_talk_0

spinka_idle

idle_2_talk_0

stand_die_0

idle_0_spec_scratch_0

hello

zatylok

talk_kind_0

chitaet

idle

idle_0_to_idle_1

davay

idle_0_talk_0

idle_2_def_0

talk_0

idle_2

alko

spinka_talk_1

rot_5

idle_1_spec_think_1

che_stoish

idle_00

idle_0_spec_click_0

test

idle_2_to_idle_0

talk_glad_0

perehod_1

idle_0_def_0

perehod_0

idle_2_talk_3

wonder

$editor

talk_1

idle_0_talk_1

vstuplenie

idle_0

idle_1_spec_think_0

idle_chitaet

talk_3

idle_1_to_idle_0

vstuplenie_2

stand_die

death_init

molodec

vstuplenie_head

cheshit

talk_4

idle_spinka

prines

palci

spinka_non_stop

talk_2

idle_looped

idle_1

trade

spinka

idle_0_talk_2

idle_2_talk_1

chitaet_idle

idle_0_talk_3

idle_0_to_idle_2

talk_angry_0

idle_2_talk_2

 

 

Изменено пользователем purke62

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
Charsi   

purke62, omf я не пробовал. Значить его тоже можно добавить в цикл к *.ogf через запятую.

Vadimische, ключей нет, но можно сделать. Если остальное не нужно,то в pl скрипте закомментируй строчки 865, 873 и 880 символом #.

 

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Charsi А можно сделать вывод данных в "..._dump.txt" в таком формате ? :

    ~ Textures & Shaders ~ :
Material 1 : "Gamedata\textures\act\act_arm_perchatka_cs.dds" > models\model

    ~ Bones & Game_Materials ~ :
Joint 1 : "bip01_r_finger21" > default_object

    ~ Animations ~ :
reload

 

Кстати твой БАТник на "перетаскивание" на него не работает.

Изменено пользователем Vadimische

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти

  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

×