Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

9 страниц V  < 1 2 3 4 5 > »   
Ответить в данную темуНачать новую тему
> Разбор форматов, Тема для обсуждения различных форматов игровых файлов
jukan
сообщение 17.07.2018, 14:35
Сообщение #41


Почти Игрок
**

Репутация:   1  
Группа: Участник
Сообщений: 19
Награды: 1
Регистрация: 26.01.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(СамСебеСекретарша @ 17.07.2018, 14:15) *
Цитата(jukan @ 17.07.2018, 14:01) *
Может можно вксрыть этот файл и написать точки спавна руками?

Можно. Используй скрипт на перле level_game_cdc.pl.

Благодарочка, уже декомпилировал cool.gif
Перейти в начало страницы
 
Chyvachok
сообщение 09.09.2018, 14:51
Сообщение #42


Почти Игрок
**

Репутация:   4  
Группа: Участник
Сообщений: 20
Награды: 1
Регистрация: 01.01.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Интересно помимо Сталкера и билдов кто-то ковырял другие шутеры от GSC Game World? Вроде FireStarter или Venom. Codename: Outbreak? Интересно можно ли оттуда вынуть модели и анимации.
Перейти в начало страницы
 
atanda
сообщение 10.09.2018, 14:26
Сообщение #43
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Chyvachok @ 09.09.2018, 14:51) *
можно ли оттуда вынуть модели и анимации

Да кому нужны эти лоуполи модели и топорные анимации?
Перейти в начало страницы
 
Chyvachok
сообщение 28.09.2018, 15:57
Сообщение #44


Почти Игрок
**

Репутация:   4  
Группа: Участник
Сообщений: 20
Награды: 1
Регистрация: 01.01.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Тоже не совсем сталкер но близко, насчет моделей из игры Survarium, для нее делали плагины для импорта моделей и анимаций?
Перейти в начало страницы
 
Modera
сообщение 28.09.2018, 16:07
Сообщение #45


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Chyvachok, плагинов не делали, только конвертер моделек в fbx. Только неизвестно, будет ли с новыми версиями работать, никто уже сто лет не обновлял. Ещё там была проблема с открытием динамических моделек.
Перейти в начало страницы
 
Zagolski
сообщение 30.05.2019, 07:17
Сообщение #46


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Neo][ @ 19.06.2018, 10:42) *

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

Все-таки там и геометрия похоже разнится. Особенно заметно с расстоянием (вблизи метров до 50 все в порядке), все сильнее и сильнее перестает совпадать по глубине, если две одинаковые модели рендерить. С чего бы это? Может полигонаж с расстоянием динамически снижается и сильнее начинает отличаться? Кстати, в этом level.geomx похоже только ландшафт и лоды, по крайней мере здания по глубине четко совпадает даже вдалеке.

Сообщение отредактировал Zagolski - 30.05.2019, 07:27
Перейти в начало страницы
 
Pavel_Blend
сообщение 26.06.2019, 15:22
Сообщение #47


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Всем привет.

Пишу импорт анимаций из ogf/omf в blender. Не получается получить корректную анимацию:


Не знаю, где ошибка. Может я не правильно разобрал формат ogf или не правильно проинтерпретировал данные.

Собственно сам вопрос:
как устроен чанк OGF_S_MOTIONS?


--------------------
Перейти в начало страницы
 
Pavel_Blend
сообщение 26.06.2019, 20:56
Сообщение #48


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Фух... Вроде получилось импортировать нормально анимации. Правда потратил на это два дня. Пока поймёшь что к чему...


--------------------
Перейти в начало страницы
 
Pavel_Blend
сообщение 26.06.2019, 23:06
Сообщение #49


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


В уровнях у статической геометрии и у лодов есть нормали. Представляют из себя 4 байта. За что они отвечают?
Я пока сделал так: x, y, z, not_used
И перевожу в float так:

normal_x = (x - 0x7f) / 0x80
normal_y = (y - 0x7f) / 0x80
normal_z = (z - 0x7f) / 0x80

Я ведь всё правильно сделал? Просто при импорте уровня в блендер нормали вроде бы глючат.


--------------------
Перейти в начало страницы
 
SkyLoader
сообщение 27.06.2019, 02:45
Сообщение #50


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 26.06.2019, 23:06) *
В уровнях у статической геометрии и у лодов есть нормали. Представляют из себя 4 байта. За что они отвечают?
Я пока сделал так: x, y, z, not_used

x, y, z, hemi

Цитата(Pavel_Blend @ 26.06.2019, 23:06) *
normal_x = (x - 0x7f) / 0x80

Попробуй normal_x = 2.f*float(x)-1.f. И для y, z так же самое.

Сообщение отредактировал SkyLoader - 27.06.2019, 02:46
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 05:53
Сообщение #51


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


А для чего hemi используется?

И что должна выдавать функция float(255)? 1.0? Просто в питоне я получаю 255.0. Поэтому сделал так:
2.0 * x / 255 - 1.0

Но результат не стал лучше:


Может нужно x, y, z домножить/прибавить hemi?


--------------------
Перейти в начало страницы
 
Supple Hope
сообщение 27.06.2019, 07:03
Сообщение #52


Босс
********************

Репутация:   257  
Группа: Участник
Сообщений: 4151
Награды: 4
Регистрация: 15.08.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


А почему 2.8 не используешь? АПИ заморожен, можно аддоны писать.

Сообщение отредактировал Supple Hope - 27.06.2019, 07:03
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 07:20
Сообщение #53


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Supple Hope, потому-что я дописываю свой старый аддон stalker_tools, который изначально создал был в 2.79. Потом сделаю порт на 2.8. Кстати аддон blender-xray я уже портировал на 2.80. Осталось только хорошо его протестировать и будет релиз.


--------------------
Перейти в начало страницы
 
abramcumner
сообщение 27.06.2019, 09:16
Сообщение #54


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 27.06.2019, 05:53) *
Но результат не стал лучше:

Тебе мозаичность не нравится или нормали совсем не правильные? На картинке вроде все норм. Без квадратов никак - 256 значений на 360 градусов.
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 10:15
Сообщение #55


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


abramcumner, да, мозаичность не устраивала. Но её я поборол. Поменял компоненты нормали местами. Но теперь другая проблема. Меш уровня выглядит темнее, чем оригинал до экспорта:

Я менял знак значения компонент нормалей на противоположный. Не помогло. Все варианты испробовал. Меш всё равно темнее.

Цитата(abramcumner @ 27.06.2019, 10:16) *
Без квадратов никак - 256 значений на 360 градусов.

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


--------------------
Перейти в начало страницы
 
AndreySol
сообщение 27.06.2019, 10:43
Сообщение #56


Опытный Геймер
*******

Репутация:   3  
Группа: Участник
Сообщений: 150
Награды: 3
Регистрация: 16.02.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 27.06.2019, 06:53) *
И что должна выдавать функция float(255)? Просто в питоне я получаю 255.0.

normal_x = 2.f*float(x)-1.f - значение x преобразуется в тип float ?
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 10:53
Сообщение #57


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


AndreySol, да, получается float. Когда в питоне делю x на любое число получится float.


--------------------
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 13:32
Сообщение #58


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я кажется понял, почему нормали неправильные. В исходниках есть функция iFloor. Находится в xrCore\_bitwise.h

CODE
ICF int iFloor (float x)
{
int a = *(const int*)(&x);
int exponent = (127 + 31) - ((a >> 23) & 0xFF);
int r = (((u32)(a) << 8) | (1U << 31)) >> exponent;
exponent += 31-127;
{
int imask = (!(((( (1<<(exponent)))-1)>>8)&a));
exponent -= (31-127)+32;
exponent >>= 31;
a >>= 31;
r -= (imask&a);
r &= exponent;
r ^= a;
}
return r;


Мне нужно написать обратную для неё функцию.

Сами нормали сохраняются в xrLC\OGF_Save_Fave.cpp:
CODE
u32						u8_vec4			(Fvector N, u8 A=0)
{
N.add (1.f);
N.mul (.5f*255.f);
s32 nx = iFloor(N.x); clamp(nx,0,255);
s32 ny = iFloor(N.y); clamp(ny,0,255);
s32 nz = iFloor(N.z); clamp(nz,0,255);
return color_rgba(nx,ny,nz,A);
}


Как видно при сохранении используется функция iFloor.

Как написать обратную для iFloor функцию?


--------------------
Перейти в начало страницы
 
Pavel_Blend
сообщение 27.06.2019, 16:10
Сообщение #59


Продвинутый геймер
********

Репутация:   51  
Группа: Участник
Сообщений: 489
Награды: 3
Регистрация: 12.11.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я так понял, что компонент нормали - это не целое число, а дробное float размером в 1 байт с экспонентой в 3 бита и мантиссой в 5 бит. Или я ошибаюсь?

Сообщение отредактировал Pavel_Blend - 27.06.2019, 16:25


--------------------
Перейти в начало страницы
 
abramcumner
сообщение 27.06.2019, 17:12
Сообщение #60


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Pavel_Blend @ 27.06.2019, 16:10) *
Я так понял, что компонент нормали - это не целое число, а дробное float размером в 1 байт с экспонентой в 3 бита и мантиссой в 5 бит. Или я ошибаюсь?

Нет, именно целое число.
iFloor - это обычное взятие целой части. Код такой извратный ради оптимизации.
Перейти в начало страницы
 

9 страниц V  < 1 2 3 4 5 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.03.2024, 17:29