IPB

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

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

>

[SDK] X-Ray SDK 0.4

 
 Neo][
сообщение 15.05.2007, 21:09
Сообщение #3201


The One
****************

Группа: Участник
Сообщений: 2715
Регистрация: 05.12.2005
Из: Наша Раша
Пользователь №: 2566



Ответы на часто задаваемые вопросы
Вопрос: Какие системные требования у СДК?
Ответ: Неограниченные (IMG:style_emoticons/default/smile.gif) Вот самые минимальные:
Процессор - 1000MHz
Память - 512Mb
Графика - Видеокарта с 32Mb памяти, и поддержкой шейдеров версии 1.1

Вопрос: Где можно скачать СДК?
Ответ: ЗДЕСЬ И обязательно установить этот ПАТЧ

Вопрос: Какие компоненты входят в пакет СДК?
Ответ:
LevelEditor - компоновщик уровней
ActorEditor - экспортер моделей, экспорт в ogf,omf и т.д
ShaderEditor - редактор параметров шейдеров
ParticleEditor - редактор эффектов игры
xrLC - базовый компилятор карт
xrDO_light - компилятор детальных объектов карты
Плагины экспорта геометрии для Maya 8 и 8.5
Документация (На английском языке) А вот ЗДЕСЬ - Полный русский перевод документации. (Автор Unic0de)

Вопрос: А где взять плагины для 3Ds Max?
Ответ: ЗДЕСЬ (Для 3Ds Max 8) или ЗДЕСЬ (Для 3Ds Max 7).

Вопрос: Будет ли СДК на синглплеер?
Ответ: СДК на синглплейер в обозримом будущем - не предвидится.

Вопрос: Есть ли СДК меньших размеров чем 300 Mb?
Ответ: Да. УЖАТАЯ ВЕРСИЯ (20 Mb)

Вопрос При запуске СДК - выводится окно:
"Сбой при инициализации приложения. Для выхода нажмите кнопку ОК" Что делать?
Ответ Установить .NET Framework 3.0Visual C Runtime

Вопрос При запуске СДК - выводится окно:
"Необходимый файл динамической библиотеки d3dx**.dll не найден" Что делать?
Ответ Установить Последний DirectX 9с (Июнь 2008)

Вопрос: Русифицирован ли СДК?
Ответ: Да. Вот русификатор

Вопрос:SDK не работает под Windows Vista. Что делать?
Ответ:SDK - несовместим с Vista. НО есть способ "запуска" - ЗДЕСЬ

Вопрос: А можно ли делать модели в самом редакторе? Не только компилировать, но и делать?
Ответ: Нет. Модели и геометрию создавать нельзя.

Вопрос: Есть ли в интернете документация и обучающие материалы на русском языке?
Ответ: Да. ЗДЕСЬ, и ЗДЕСЬ

Вопрос: При компиляции карты - компилятор слетает с ошибкой.
FATAL ERROR
Цитата
exp​ression : assertion failed
Function : b_BuildTexture::Vflip
File : d:\xray-svn\xrlc\build.h
Line : 30
Description : pSurface

Что делать?
Ответ: Прочитать ЭТО

Вопрос: Что такое HOM объект?
Ответ: Читаем ЭТО

Вопрос: При конвертировании объекта, с правильным именем, именем группы, с материалом, без вытянутых полигонов и нулевых, выдаёт надпись
Цитата
Can't convert to TriObject. Export Failed!

Что делать?
Ответ: Экспортируются Только объекты типа Edit Mesh, или Edit Poly. Никаких Групп!

Вопрос: Как запустить Shader Editor, Или "А вот ето выскочило,когда я попытался запустить exe файл"
Цитата
exp​ression : F
Function : I:xray-svn-trunkxrCoreELocatorAPI.cpp
File : I:xray-svn-trunkxrCoreELocatorAPI.cpp
Line : 63
Description : Can't open file:
Arguments : fs.ltx

Ответ: Создать в папке ...LevelEditor - БАТ-файл, в котором написать: @start bins\ShaderEditor.exe

Вопрос: Запускаю новую карту на полном динамическом освещении, вылет с логом (на этапе загрузки шейдеров):
Цитата
exp​ression : R
Function : CResourceManager::_CreatePS
File : D:\xray-svn\xr_3da\ResourceManager_Resources.cpp
Line : 270
Description : ...\s.t.a.l.k.e.r\gamedata\shaders\r2\deffer_impl_lmh_flat_d.ps

Ответ: Скачать и установить ИСПРАВЛЕНИЕ

Вопрос: Карта не компилируется. Компилятор слетает с ошибкой
Цитата
exp​ression : fatal error
Function : CBuild::PreOptimize
File : D:\xray-svn\xrLC\xrPreOptimize.cpp
Line : 132
Description : <no exp​ression>
Arguments : * FATAL: 145 invalid faces. Compilation aborted

Что делать?
Ответ:В какой-то (каких-то) из моделей на карте - есть 145 Invalid Faces. В моделях НЕ должно быть:
- Очень длинных тонких треугольников.
- Потяжек текстур.
- Несвязанных рёбрами вершин.

Вопрос: Что обозначают красные точки во вьюпорте level editor, после того как сделаешь build?:
Ответ: Вершины и координаты ошибок геометрии



Архив лодов (high quality) для сдк любой версии. Присутствуют исходники tga c thm; dds получены без сжатия (32bit), для mip-maps использовался фильтр kaiser без флага dither.

Absolute Nature 3 SDK Object Pack
Фикс работы бампов Absolute Nature 3 для ТЧ
TGA/THM rawdata для чистого ТЧ SDK и пака деревьев Absolute Nature 3

Запуск на Win7 и Vista
Запуск на Win8

SAVandT (S.T.A.L.K.E.R. Sound Attribute Viewer and Tweaker) - удобная программа для добавления и правки игровых комментариев к .ogg файлам.

Сообщение отредактировал RayTwitty - 15.06.2018, 01:12
Перейти в начало страницы
 
 
 
Ответов
 Yara
сообщение 12.01.2017, 12:09
Сообщение #3202


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

Группа: Участник
Сообщений: 157
Регистрация: 20.03.2014
Из: omsk
Пользователь №: 19526



В том же сдк, scene > summary info > objects (в references, количество ссылок на модель), в common можно сделать экспорт в txt-файл.
Перейти в начало страницы
 
 
 RayTwitty
сообщение 12.01.2017, 12:49
Сообщение #3203


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Цитата(Yara @ 12.01.2017, 12:07) *
В том же сдк, scene > summary info > objects (в references, количество ссылок на модель), в common можно сделать экспорт в txt-файл.

Экспорт там конечно практически не читаемый :/

Но все равно спасибо.
Перейти в начало страницы
 
 
 aka_sektor
сообщение 13.01.2017, 12:58
Сообщение #3204


Грандмастер
**************

Группа: Участник
Сообщений: 1788
Регистрация: 04.04.2013
Из: Беларусь
Пользователь №: 16432



Наткнулся на пост с логами вылетов X-Ray SDK: http://www.gameru.net/forum/index.php?s=&a...t&p=1226414

Удалось разобраться кому-нибудь в чем причина и как их решить?
Перейти в начало страницы
 
 
 RayTwitty
сообщение 14.01.2017, 03:10
Сообщение #3205


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Небольшой разбор команды конвертера dds2tga

Работает оно следующим образом (ТЧ СДК):
1) смотрит, какие текстуры есть в $game_textures$ (gamedata);
2) конвертирует в tga те, у которых есть прозрачность и которые не являются бампами;
3) результаты помещает в $textures$ (rawdata).

Из статьи:
Цитата
Утилита читает все .thm файлы в $textures$

У меня rawdata вообще была пустая (умышленно все оттуда убрал), сконвертировалось без проблем. Нужны только сами dds-текстурки в геймдате.

По поводу ключа with_solid.
По умолчанию, конвертер обрабатывает только те текстуры, у которых есть прозрачность (листья деревьев, сетка, колючая проволока и т.д.). Этот ключ предписывает обрабатывать еще и текстуры без прозрачности.

Не трудно догадаться, зачем нужен ключ with_bump - с ним обрабатываются еще и бампы.
Перейти в начало страницы
 
 
 RayTwitty
сообщение 14.01.2017, 04:32
Сообщение #3206


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Цитата(Shadows @ 07.07.2015, 16:33) *
Кто использовал деревья AN3 в ТЧ - тени на р1 нормально рендерятся? У меня почему-то листья не просчитывает (IMG:style_emoticons/default/biggrin.gif)
(IMG:http://f19.ifotki.info/thumb/03b25525395a540eb9d305892bb72424b0c2a8218933312.jpg)
 
Сравнил настройки шейдров в модели со скрина - не отличается от стандартных ТЧ деревьев. Могу предположить, что проблема в текстурах, а именно в thm.

Дело действительно оказалось в текстурах.
(IMG:http://f21.ifotki.info/thumb/b7dee3325aa922363b46b52369bf62f92e482a267017429.png)
А точнее, в tga\thm. Раньше я использовал dds2tga converter, который как выяснилось очень кривой - текстуры получались без альфы и соответственно были косяки при компиляции. При использовании конвертера от Бардака всё в порядке (разбор в предыдущем посте).

Готовые текстуры для чистого ТЧ SDK и пака деревьев Absolute Nature 3.

Сообщение отредактировал RayTwitty - 20.01.2017, 17:10
Перейти в начало страницы
 
 
 RayTwitty
сообщение 15.01.2017, 00:05
Сообщение #3207


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Список ТЧ текстур с альфа каналом*, полученный при помощи данного конвертера.
textures
Код
act_controller_hit
act_controller_hit1
act_crow_op
act_glasses
act_glass_universal
act_jeffry_glass
act_krovosos_new1
act_krovosos_u
act_puh
act_scientist
act_scientist_head2
act_specnaz_glass
act_stalker_nauch_glass
act_stalker_nauch_glass_1
artifact_cristall
artifact_cristall_green
artifact_cristall_green_grnd
artifact_fire
artifact_fire_light
artifact_glaz
artifact_glow
artifact_glow2
artifact_hell1
artifact_hell1_00
artifact_hell1_01
artifact_hell1_02
artifact_hell1_03
artifact_hell1_04
artifact_hell1_05
artifact_hell1_06
artifact_hell1_07
artifact_hell1_08
artifact_hell1_09
artifact_liana2
artifact_lighting
artifact_magnit
artifact_pustishka
artifact_simple2
artifact_simple3
artifact_sopli
artifact_sopli2
det_10_kustsux1
det_10_kustsux2
det_1_flw
det_1_flw_list
det_1_flw_yellow
det_1_krapiva
det_1_polyn
det_1_trava
det_2_perekati
det_2_trava
det_2_trava2
det_3_kustzel1
det_3_kustzel2
det_3_lebeda
det_3_trava
det_5_kovyl
det_6_trava
det_6_trava3
det_7_lebeda
det_7_trava3
det_best1
det_best2
det_best3
det_best4
det_best5
det_fern_1
det_fern_2
det_flower
det_flower_w
det_gasfalt
det_gayka
det_kamysh
det_krapiva
det_kustsux1
det_kustsux1_black
det_kustsux2
det_kustsux2_black
det_kustzel1
det_kustzel2
det_leaves
det_lebeda
det_lebeda_sux
det_lebeda_sux_black
det_list
det_listya
det_listya_green
det_pap
det_papor
det_plane
det_plane128
det_plant_leaves
det_plant_leaves1
det_pl_i
det_pod
det_steklo
det_steklo1
det_stoune
det_trav
det_travoduvan
det_travsux
det_travzel
det_zelkust
detail_asfalt_det1
detail_asfalt_det1_u
detail_beton_det1
detail_beton_det1_u
detail_beton_det1_v
detail_beton_det3
detail_beton_det3_u
detail_beton_det3_v
detail_beton_det4
detail_beton_det4_u
detail_beton_det4_u2
detail_beton_det4_v
detail_bitum_det2
detail_brick_det1
detail_brick_det1_u
detail_dirt_det1
detail_dirt_det1_u
detail_earth_det1
detail_earth_det2
detail_fabric_det2
detail_fabtic_det1
detail_fabtic_det1_u
detail_metall_det1
detail_metall_det1_u
detail_metall_det1_v
detail_metall_det2
detail_metall_det2_u
detail_metall_det2_v
detail_metall_det2_v2
detail_metall_det3
detail_metall_det3_u
detail_metall_det3_v
detail_rocks_det1
detail_stucco_det1
detail_stucco_det1_u
detail_stucco_det1_v
detail_stucco_det3
detail_stucco_det4
detail_tile_det1
detail_tile_det2
detail_tile_det3
detail_tile_det3_u
detail_wood_det1
detail_wood_det1_u
detail_wood_det2
detail_wood_det2_v
door_gr04
door_j03alfa
door_j03b
door_trader
ed_actor
fx_circular1
fx_circular2
fx_fire-full
fx_fire-glow
fx_fire1
fx_fire1_01
fx_fire1_02
fx_fire1_03
fx_fire1_04
fx_fire1_05
fx_fire1_06
fx_fire1_07
fx_fire1_08
fx_fire1_09
fx_fire1_10
fx_fire1_11
fx_fire1_12
fx_fire1_13
fx_fire1_14
fx_fire1_15
fx_fire1_16
fx_flare0
fx_flare1
fx_flare2
fx_flare3
fx_fl_l
fx_glow_orang
fx_gradient
fx_gradient1
fx_gradient_02
fx_lightning-glow
fx_lightning-pattern
fx_lightning
fx_light_cone_01
fx_moon
fx_oblaka
fx_rain
fx_rainsplash1
fx_ring1
fx_shadow1
fx_shadow1a
fx_sun
fx_sun1
fx_sun_rise
fx_tracer
fx_volumefog1
fx_whitefog1
rain
glas_brain
glas_br_01
glas_dirt
glas_dirt2
glas_dirt_bar
glas_g-01
glas_gr01
glas_gr02
glas_lab
glas_temp
glas_windows1a
glas_windows4a
glas_windows5b
glas_windows5c
glas_windows6b
glow_04
glow_anamorphic
glow_blue
glow_fire1
glow_galogen
glow_galogen_p
glow_ghost
glow_green
glow_lighting
glow_light_orang
glow_light_red
glow_orange
glow_orange2
glow_orange_bright
glow_rays
glow_red
glow_reddish1
glow_torch_r2
glow_white
glow_wm
glow_yellow
grnd_asphalt4
grnd_for_terraine
grnd_hangbush1
intro_map_pic_testers_mp_darkvalley
intro_map_pic_testers_mp_lost_village
intro_map_pic_testers_mp_pool
intro_map_pic_testers_mp_railroad
intro_map_pic_testers_mp_rostok
intro_testers_mp_darkvalley
intro_testers_mp_lost_village
intro_testers_mp_pool
intro_testers_mp_railroad
intro_testers_mp_rostok
item_drink_nonstop
item_drink_nonstop_old
item_drink_stalker
item_drink_stalker_old
item_merger
item_samopal
lights_8144
lights_blamplight
lights_blamplight2
lights_blamplight_cv
lights_bottle
lights_bspot01
lights_bspot01_cv
lights_cone
lights_cone2
lights_cones
lights_cone_handing_lamp
lights_control_monolith
lights_duolight01
lights_duolight02grey
lights_fanblade
lights_fanblade3
lights_fangrate
lights_flashlight2
lights_floorpgrate
lights_floorvent01int
lights_floorvent01x
lights_galogen_blue
lights_grate4
lights_grate5
lights_hlamp01
lights_impflash
lights_inverse
lights_ray1
lights_redcircuit
lights_round
lights_roundfire
lights_spot01
lights_spot_statik
lights_spot_wire_01
lights_spot_wire_02
lights_squarelight1
lights_squarelight1a
lights_squarelight2
lights_squarelight_split
lights_strobevent01
lights_torch_01
lights_xfalloff
map_aes_1
map_agroprom
map_agr_underground
map_bar
map_darkvalley
map_escape
map_garbage
map_labx18_map
map_military
map_mind
map_mp_agroprom
map_mp_atp
map_mp_bath
map_mp_darkvalley
map_mp_factory
map_mp_fog_net
map_mp_garbage
map_mp_lost_village
map_mp_military_1
map_mp_military_2
map_mp_railroad
map_mp_rostok
map_mp_workshop
map_pripyat
map_radar
map_rostok
map_yantar
mtl_fence1
mtl_fence2
mtl_fence2n
mtl_fence2n_ql
mtl_fence3
mtl_fence4
mtl_fence5
mtl_fence_ql
mtl_floor03
mtl_krolik_resh
mtl_phone_gr01
mtl_pol_z
mtl_rech_ch_01
mtl_reshetka_pot_01
mtl_resh_kn
mtl_resh_reil
mtl_resh_reil01
mtl_resh_reil02
mtl_resh_reil03
mtl_resh_reil_a
mtl_setka_iov
mtl_walls9
mtl_x-support1
pfx_ani-explosion-02-b-a
pfx_ani-explosion-02
pfx_ani-explosion-02a
pfx_ani-fire01
pfx_ani-smoke-01
pfx_anomali_dist3
pfx_anomaly_1
pfx_anomaly_10
pfx_anomaly_11
pfx_anomaly_12
pfx_anomaly_14
pfx_anomaly_16
pfx_anomaly_17
pfx_anomaly_18
pfx_anomaly_19
pfx_anomaly_2
pfx_anomaly_20
pfx_anomaly_21
pfx_anomaly_22
pfx_anomaly_23
pfx_anomaly_2_green
pfx_anomaly_3
pfx_anomaly_4
pfx_anomaly_5
pfx_anomaly_6
pfx_anomaly_7
pfx_anomaly_7_1
pfx_anomaly_8
pfx_anomaly_88
pfx_anomaly_9
pfx_anomaly_flash
pfx_anomaly_vegetation
pfx_bloodsplash1
pfx_bloodsplash2
pfx_blood_vapor
pfx_blurry_cloud
pfx_brick
pfx_bubble
pfx_bubbles
pfx_bubble_1
pfx_bubble_water
pfx_byaka
pfx_byaka02
pfx_byaka_01
pfx_concretedebris_01
pfx_concretepuffs_01
pfx_cresty
pfx_dist2
pfx_dist2a
pfx_dist2inv
pfx_dist2_big
pfx_dist3
pfx_dist4
pfx_dist5
pfx_dist6
pfx_dist7
pfx_dist8
pfx_dist9
pfx_distortion
pfx_distort_anomaly
pfx_distort_anomaly_1
pfx_dist_glass
pfx_dist_glass2
pfx_dist_glass3
pfx_dist_glass3_base
pfx_dist_glass4
pfx_dist_glass5
pfx_dist_glass6
pfx_dist_lens
pfx_dist_lens_base
pfx_dist_lightning_02
pfx_explotions_2
pfx_explotions_3
pfx_explotions_4
pfx_explotions_smoke
pfx_explotions_smoke_benzine
pfx_expl_01
pfx_expl_01a
pfx_expl_benzin
pfx_fire
pfx_flame
pfx_flamefx_01
pfx_flame_01
pfx_flash_01
pfx_flash_02
pfx_flash_03
pfx_flash_04
pfx_flash_05
pfx_flash_06
pfx_flash_07
pfx_flash_08
pfx_g-smoke-01
pfx_glow_shot
pfx_gologramma
pfx_gradient_green1alpha
pfx_gradient_green2alpha
pfx_gradient_green3alpha
pfx_intense2_a
pfx_leaf
pfx_leaves_01
pfx_leaves_02
pfx_light
pfx_light1
pfx_light3
pfx_light4
pfx_light5
pfx_lighting_stancia_01
pfx_lighting_stancia_02
pfx_lightning_01
pfx_lightning_02
pfx_ligth_6
pfx_plasma
pfx_rocket
pfx_shells1
pfx_skinsplash1
pfx_sm
pfx_smokepuffs1
pfx_smokepuffs2
pfx_smoke_a
pfx_smoke_b
pfx_smoke_c
pfx_sparks1
pfx_sparks2
pfx_spark_01
pfx_specks
pfx_spikey_star
pfx_splash3
pfx_splash_01
pfx_splash_02
pfx_step_blood
pfx_stonedebris1
pfx_stonedebris2
pfx_stonedebris3
pfx_studen_bulb
pfx_synus
pfx_test_textures
pfx_trasser
pfx_vehglassdebris_01
pfx_vehmetaldebris_01
pfx_water_wave
pfx_woodchips1
pfx_woodchips2
pfx_woodchips3
prop_barbwire1
prop_barbwire2
prop_barbwire3
prop_barbwire4
prop_bed1
prop_bed1a
prop_bidon
prop_blind01
prop_cloth2
prop_code_1
prop_dolg
prop_dolg_gerb
prop_dom_04
prop_grate2
prop_grate4
prop_iten4
prop_lampa_g_red
prop_map_flag
prop_mask_setka
prop_mozg
prop_m_vagon
prop_projektor
prop_provod_03
prop_railings1
prop_reshetka_01
prop_shirma1
prop_stancija_1
prop_tubedetails1
prop_voda1
prop_web_01
prop_zabor_iov
sign_info_03r
sky_back1_1
sky_back1_2
sky_back1_3
sky_back1_4
sky_back1_dach
sky_back2_1
sky_back2_2
sky_back2_3
sky_back2_4
sky_back2_dach
sky_back3_dach
sky_back4_dach
sky_fog
sky_fog1
sky_l1dach1_bk
sky_l1dach1_fr
sky_l1dach1_lf
sky_l1dach1_rt
sky_l1dach1_up
sky_l1escape10_bk
sky_l1escape10_fr
sky_l1escape10_lf
sky_l1escape10_rt
sky_l1escape10_up
sky_l1escape11_bk
sky_l1escape11_fr
sky_l1escape11_lf
sky_l1escape11_rt
sky_l1escape11_up
sky_l1escape1_bk
sky_l1escape1_fr
sky_l1escape1_lf
sky_l1escape1_rt
sky_l1escape1_up
sky_l1escape2b_bk
sky_l1escape2b_fr
sky_l1escape2b_lf
sky_l1escape2b_rt
sky_l1escape2b_up
sky_l1escape2_bk
sky_l1escape2_fr
sky_l1escape2_lf
sky_l1escape2_rt
sky_l1escape2_up
sky_l1escape3_bk
sky_l1escape3_fr
sky_l1escape3_lf
sky_l1escape3_rt
sky_l1escape3_up
sky_l1escape5_bk
sky_l1escape5_fr
sky_l1escape5_lf
sky_l1escape5_rt
sky_l1escape5_up
sky_l1escape6_bk
sky_l1escape6_fr
sky_l1escape6_lf
sky_l1escape6_rt
sky_l1escape6_up
sky_l1escape7_bk
sky_l1escape7_fr
sky_l1escape7_lf
sky_l1escape7_rt
sky_l1escape7_up
sky_l1escape8_bk
sky_l1escape8_fr
sky_l1escape8_lf
sky_l1escape8_rt
sky_l1escape8_up
sky_l1escape9_bk
sky_l1escape9_fr
sky_l1escape9_lf
sky_l1escape9_rt
sky_l1escape9_up
sky_night_bk
sky_night_fr
sky_night_lf
sky_night_rt
sky_night_up
sky_oblaka
sky_tuchi
ston_granit_01
ston_stena_marbl_m_03
ston_stena_pod_04
ston_truba_ch01
terrain_agroprom
terrain_agroprom_det
terrain_agroprom_mask
terrain_bar
terrain_bar_det
terrain_bar_mask
terrain_darkvalley
terrain_darkvalley_det
terrain_darkvalley_mask
terrain_dom
terrain_escape
terrain_escape_det
terrain_escape_mask
terrain_exp-bath
terrain_exp-bath_det
terrain_exp-bath_mask
terrain_factory_ter
terrain_factory_yantar_ter
terrain_factory_yantar_ter_det
terrain_factory_yantar_ter_mask
terrain_garbage_new
terrain_garbage_new_det
terrain_garbage_new_mask
terrain_lost-village
terrain_lost-village_det
terrain_lost-village_mask
terrain_military_1
terrain_military_1_det
terrain_military_1_mask
terrain_military_mp_2
terrain_military_mp_2_det
terrain_military_mp_2_mask
terrain_mp_02
terrain_mp_atp
terrain_mp_atp_det
terrain_mp_darkvalley
terrain_mp_darkvalley_mask
terrain_mp_factory
terrain_mp_military_2
terrain_mp_military_2_det
terrain_mp_military_2_mask
terrain_mp_rostok
terrain_mp_rostok_det
terrain_mp_rostok_mask
terrain_prypiat
terrain_prypiat_det
terrain_prypiat_mask
terrain_pryp_mp
terrain_pryp_mp_det
terrain_pryp_mp_mask
terrain_radar_2
terrain_radar_2_det
terrain_radar_2_mask
terrain_stancia_land
terrain_stancia_land_det
terrain_stancia_land_mask
tree_fuflo
tree_new_vetka_sux
trees_a_bush
trees_byaka
trees_det2
trees_det_urod
trees_dub
trees_elka
trees_elka2
trees_elka_sux
trees_elka_suxaya
trees_flower_yellow
trees_forestwall1
trees_forestwall2
trees_fuflo
trees_kamysh
trees_kustik1
trees_list_flower
trees_new_vetka
trees_new_vetka_green
trees_new_vetka_green1
trees_orex
trees_sosna
trees_sosna_sux
trees_topolgreenv
trees_trava
trees_trava_2
trees_vetka
trees_vetka1
trees_vetkabig
trees_vetkagreen
trees_vetkagreen1
trees_vetkagreen3
trees_vetkagreen5
trees_vetkagreen6
trees_vetkagreen7
trees_vetkasux
trees_vetkasux1_v
trees_vetkasux2
trees_vetkatopol
trees_vetka_green_1v
trees_vetka_green_2v
trees_vetka_green_3v
trees_vetka_green_v
trees_vetka_krona
veh_collision
veh_gaz66
veh_mi24_br
veh_mi24_fire
veh_mi24_glass
veh_mi24_vint
veh_mi6
veh_mi6_fire
veh_nivaglass1
veh_uazik_new
veh_zil_deadcar
water_down
water_dudv
water_dudv_0
water_dudv_1
water_dudv_10
water_dudv_11
water_dudv_12
water_dudv_13
water_dudv_14
water_dudv_15
water_dudv_16
water_dudv_17
water_dudv_18
water_dudv_19
water_dudv_2
water_dudv_20
water_dudv_21
water_dudv_22
water_dudv_23
water_dudv_24
water_dudv_25
water_dudv_26
water_dudv_27
water_dudv_28
water_dudv_3
water_dudv_4
water_dudv_5
water_dudv_6
water_dudv_7
water_dudv_8
water_dudv_9
water_mask
water_normal
water_normal_0
water_normal_1
water_normal_10
water_normal_11
water_normal_12
water_normal_13
water_normal_14
water_normal_15
water_normal_16
water_normal_17
water_normal_18
water_normal_19
water_normal_2
water_normal_20
water_normal_21
water_normal_22
water_normal_23
water_normal_24
water_normal_25
water_normal_26
water_normal_27
water_normal_28
water_normal_3
water_normal_4
water_normal_5
water_normal_6
water_normal_7
water_normal_8
water_normal_9
water_point_01
water_pool1
water_pool1_000
water_pool1_001
water_pool1_002
water_pool1_003
water_pool1_004
water_pool1_005
water_pool1_006
water_pool1_007
water_pool1_008
water_pool1_009
water_pool1_010
water_pool1_011
water_pool1_012
water_pool1_013
water_pool1_014
water_pool1_015
water_pool1_016
water_pool1_017
water_pool1_018
water_pool1_019
water_pool1_020
water_pool1_021
water_pool1_022
water_pool1_023
water_pool1_024
water_pool1_025
water_pool1_026
water_pool1_027
water_pool1_028
water_pool1_029
water_pool1_030
water_pool1_031
water_pool1_032
water_pool1_033
water_pool1_034
water_pool1_035
water_pool1_036
water_pool1_037
water_pool1_038
water_pool1_039
water_pool1_040
water_pool1_041
water_pool1_042
water_pool1_043
water_pool1_044
water_pool1_045
water_pool1_046
water_pool1_047
water_pool1_048
water_pool1_049
water_pool2
water_pool2_000
water_pool2_001
water_pool2_002
water_pool2_003
water_pool2_004
water_pool2_005
water_pool2_006
water_pool2_007
water_pool2_008
water_pool2_009
water_pool2_010
water_pool2_011
water_pool2_012
water_pool2_013
water_pool2_014
water_pool2_015
water_pool2_016
water_pool2_017
water_pool2_018
water_pool2_019
water_pool2_020
water_pool2_021
water_pool2_022
water_pool2_023
water_pool2_024
water_pool2_025
water_pool2_026
water_pool2_027
water_pool2_028
water_pool2_029
water_pool2_030
water_pool2_031
water_pool2_032
water_pool2_033
water_pool2_034
water_pool2_035
water_pool2_036
water_pool2_037
water_pool2_038
water_pool2_039
water_pool2_040
water_pool2_041
water_pool2_042
water_pool2_043
water_pool2_044
water_pool2_045
water_pool2_046
water_pool2_047
water_pool2_048
water_pool2_049
water_ryaska1
water_ryaska2
water_ryska
water_ryska2
water_studen
water_studen_green
water_test
water_water
water_waterdistort
water_waterdistort2
wind_04_ch_transp
wind_97
wind_gr03
wind_j05a
wm_anarh1
wm_anarh2
wm_anarh3
wm_anarh4
wm_anarh5
wm_anarh6
wm_anarh7
wm_benzo
wm_blood_1
wm_blood_1_1
wm_blood_1_2
wm_blood_1_3
wm_blood_1_4
wm_blood_1_5
wm_blood_2
wm_blood_3
wm_blood_drop_1
wm_blood_drop_2
wm_blood_drop_3
wm_blood_drop_4
wm_blueteam_trafaret
wm_board_a
wm_board_a_mask
wm_bullet_asfalt_1
wm_bullet_asfalt_2
wm_bullet_asfalt_3
wm_bullet_brick
wm_bullet_brick_1
wm_bullet_brick_2
wm_bullet_concrete
wm_bullet_concrete_1
wm_bullet_concrete_2
wm_bullet_concrete_3
wm_bullet_concrete_4
wm_bullet_concrete_5
wm_bullet_concrete_6
wm_bullet_concrete_7
wm_bullet_concrete_8
wm_bullet_glass01
wm_bullet_glass02
wm_bullet_glass03
wm_bullet_glass04
wm_bullet_ground
wm_bullet_ground_1
wm_bullet_ground_2
wm_bullet_metall_thik
wm_bullet_metall_thik_1
wm_bullet_metall_thik_2
wm_bullet_metall_thik_3
wm_bullet_metall_thin
wm_bullet_metall_thin_1
wm_bullet_metall_thin_2
wm_bullet_metall_thin_3
wm_bullet_metall_thin_4
wm_bullet_metall_thin_5
wm_bullet_wood
wm_bullet_wood_1
wm_bullet_wood_2
wm_bullet_wood_3
wm_bullet_wood_4
wm_bullet_wood_5
wm_bullet_wood_6
wm_bullet_wood_7
wm_bullet_wood_8
wm_bullet_wood_9
wm_cactus_place
wm_danger_a
wm_danger_a_01
wm_danger_a_02
wm_descruo
wm_dirt_01
wm_dirt_02
wm_dirt_03
wm_dirt_04
wm_dirt_05
wm_entrance_01
wm_freedon_sign
wm_graz1
wm_graz2
wm_graz3
wm_graz4
wm_graz5
wm_graz6
wm_graz7
wm_greenteam_trafaret
wm_grenade
wm_igolki
wm_kabel_a
wm_knife_dead
wm_knife_glas
wm_knife_horiz
wm_knife_horiz_blood
wm_knife_horiz_blood1
wm_knife_horiz_metal
wm_knife_horiz_ston
wm_knife_ston
wm_knife_wood
wm_knife_wood1
wm_knife_wood2
wm_knife__metal
wm_kostrishe_a
wm_kpd
wm_listja
wm_listja_vetki
wm_moh2_iov
wm_moh_iov
wm_mokrota_iov
wm_musor_koster1
wm_musor_koster2
wm_musor_pol1
wm_musor_pol2
wm_musor_pol3
wm_nauka
wm_oboi_01
wm_oboi_02
wm_orangeteam_trafaret
wm_papers1
wm_papers2
wm_papers3
wm_perehod
wm_pg_a
wm_pl_1
wm_pl_2
wm_pl_3
wm_pl_4
wm_pl_5
wm_poteki_iov
wm_potolok_crash_01
wm_proe_zapr
wm_proe_zapr1
wm_proe_zapr2
wm_proe_zapr3
wm_redteam_trafaret
wm_rza_a
wm_rza_potek
wm_rza_potek1
wm_shadow_leaf
wm_stop_a
wm_strum_a
wm_uzor
wm_uzor1
wm_uzor2
wm_uzor3
wm_zhaba
wm_zhaba1
wm_zhaba2
wm_zona_a
wpn_abakan
wpn_ak74
wpn_aksu
wpn_beretta
wpn_binokl
wpn_bm-16
wpn_bolt
wpn_colt
wpn_colt1911
wpn_crosshair
wpn_crosshair_bino
wpn_crosshair_g36
wpn_crosshair_g36_lens
wpn_crosshair_l85
wpn_crosshair_rpg
wpn_desert_eagle
wpn_fn2000
wpn_fn2000_new
wpn_fort
wpn_g36
wpn_gauss
wpn_grenade
wpn_grenade1
wpn_groza
wpn_gsh18
wpn_hpsa
wpn_items
wpn_knife
wpn_komby
wpn_l85
wpn_lr300_banan
wpn_lt2
wpn_m134
wpn_mp5
wpn_night
wpn_p220
wpn_p90
wpn_pb
wpn_pkm
wpn_pm
wpn_rg6
wpn_rpg-7
wpn_ruzhye2
wpn_sig-p220
wpn_sig550
wpn_spas12
wpn_svd
wpn_svu-a
wpn_toz-34
wpn_upgrade
wpn_usp
wpn_vog
wpn_vss
wpn_walter99
wpn_winchester1300

* только у тех текстур, у которых были thm в геймдате.
Перейти в начало страницы
 
 
 RayTwitty
сообщение 15.01.2017, 01:47
Сообщение #3208


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



В оригинале разрабы довольно таки неудачно выставили шейдеры для матрасов. На статике мы получаем нечто подобное:
(IMG:http://f21.ifotki.info/thumb/22ebef8d148b506349d2ea7f70669c99b0c2ac267093748.png)
А на динамике, оно вообще полупрозрачное. Что в принципе и понятно, как настроили, такой и результат.

После небольших тестов была получена комбинация:
Код
Shader: def_shaders\def_aref
Compile: def_shaders\def_noshadow

Статика / Динамика
(IMG:http://f21.ifotki.info/thumb/fcb9c6e07d1ed91c4ae9b35c2146623fb0c2ac267094015.png) (IMG:http://f21.ifotki.info/thumb/681c21423542933a328270862d355207b0c2ac267094048.png)
На статике тени от этих тонких прутиков отключены, а на динамике теперь можно сделать бамп к текстурке, чтобы она блестела (IMG:style_emoticons/default/smile.gif)

Аналогичную настройку также рекомендуется установить для колючей проволоки.
(IMG:http://f21.ifotki.info/thumb/c058cd81c70759c211f42a49a7d9c538b0c2ac267097029.jpg)

Сообщение отредактировал RayTwitty - 17.01.2017, 18:58
Перейти в начало страницы
 
 
 RayTwitty
сообщение 15.01.2017, 02:20
Сообщение #3209


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



(IMG:http://f21.ifotki.info/thumb/adde32396ed4eaea07c1ac9c1e863fd2b0c2ac267096053.jpg)
Для исправления сей шляпы со сглаживанием, помогло уменьшение значения Normal smooth angle в настройках сцены. Конкретно для катакомб Агропрома, оптимальным значением оказалось 61.00.
(IMG:http://f21.ifotki.info/thumb/199829bf03ae427da613f5d22379134eb0c2ac267096177.jpg)
Перейти в начало страницы
 
 
 RayTwitty
сообщение 17.01.2017, 18:47
Сообщение #3210


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Для получения теней на обоих рендерах от сетки рабицы и маскировочной сетки, рекомендуются следующие настройки (соответственно):
Код
Shader: def_shaders\def_aref
Compile: def_shaders\default_lm03
и
Код
Shader: def_shaders\def_aref
Compile: def_shaders\default_lm03_ghost // без коллизии

Статика / Динамика
(IMG:http://f21.ifotki.info/thumb/cfaf6e6e34e4f0a5eb8119eb807f65242e4827267327782.png) (IMG:http://f21.ifotki.info/thumb/988f58cb07b6fa9e43a2ed4b910a469b2e4827267327801.png)
Для получения четких теней, разумеется нужны высокие настройки компиляции / большой размер карты теней.

Более подробно про шейдеры для сетки на р1

Сообщение отредактировал RayTwitty - 29.01.2017, 17:23
Перейти в начало страницы
 
 
 Pavel_Blend
сообщение 17.01.2017, 19:09
Сообщение #3211


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

Группа: Участник
Сообщений: 489
Регистрация: 12.11.2012
Пользователь №: 15200



RayTwitty, хотелось бы, чтобы такие примеры со скриншотами были где нибудь на вики. А то здесь тема имеет 161 страницу и через месяц вряд ли этот пост кто-то найдёт. Не нравятся мне такие темы. Что здесь, что на амк и ap-pro. Сообщения здесь однодневки. Сегодня прочитал, завтра их уже не найдёшь (много страниц искать или забыл в какой теме писали и начинаешь листать 100 страничные темы).

Лучше были бы более мелкие темы и их количество было бы больше (например, эту тему можно было бы разбить на AE, LE, PE, SE, вопросы по этим редакторам и т.д.)
Перейти в начало страницы
 
 
 RayTwitty
сообщение 23.01.2017, 19:55
Сообщение #3212


Игровой Бог
**********************

Группа: Участник
Сообщений: 5354
Регистрация: 24.09.2010
Пользователь №: 14086



Немного допиленный скрипт (отсюда) для дампа параметров объекта. Мне был нужен для анализа материалов.
CODE
#!perl -w -I \temp\1\bin

#######################################################################
package ae_object;
use strict;
use stkutils::data_packet;
use stkutils::chunked_file;
use POSIX qw(floor ctime);
sub read {
my ($fn) = @_;
printf "dumping '%s'\n", $fn;
my $cf = stkutils::chunked_file->new($fn, 'r') or die;
while (1) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
SWITCH: {
$id == 0x7777 && do { read_object($cf); last SWITCH; };
printf "unexpected chunk %04x size %d\n", $id, $size;
die;
}
$cf->r_chunk_close();
}
$cf->close();
}
sub read_object {
my ($cf) = @_;
while (1) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
SWITCH: {
$id == 0x0900 && do { read_object_0900($cf); last SWITCH; };
$id == 0x0903 && do { read_object_0903($cf); last SWITCH; };
$id == 0x0907 && do { read_object_0907($cf); last SWITCH; };
$id == 0x0910 && do { read_object_0910($cf); last SWITCH; };
$id == 0x0911 && do { read_object_0911($cf); last SWITCH; };
$id == 0x0912 && do { read_object_0912($cf); last SWITCH; };
$id == 0x0916 && do { read_object_0916($cf); last SWITCH; };
$id == 0x0920 && do { read_object_0920($cf); last SWITCH; };
$id == 0x0921 && do { read_object_0921($cf); last SWITCH; };
$id == 0x0922 && do { read_object_0922($cf); last SWITCH; };
$id == 0x0923 && do { read_object_0923($cf); last SWITCH; };
$id == 0x0924 && do { read_object_0924($cf); last SWITCH; };
$id == 0x0925 && do { read_object_0925($cf); last SWITCH; };
printf "unexpected chunk 7777,%04x size %d\n", $id, $size;
die;
}
$cf->r_chunk_close();
}
}
sub read_object_0900 {
my ($cf) = @_;
# printf "chunk 7777,0900\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($version) = $packet->unpack('v');
die unless $packet->length() == 0;
# printf " eobj version: %#x\n", $version;
}
sub read_object_0903 {
my ($cf) = @_;
# printf "chunk 7777,0903\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($flags) = $packet->unpack('V');
die unless $packet->length() == 0;
# printf " eobj flags: %#8.8x\n", $flags;
}
sub read_object_0907 {
my ($cf) = @_;
# printf "chunk 7777,0907\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('V/(Z*Z*Z*Z*Z*Z*VVV)');
die unless $packet->length() == 0;
printf " surface count: %d\n", ($#v + 1)/9;
for (my $i = 0; $i <= $#v; $i += 9) {
# printf " surface%d\n", $i/9;
# printf " name: '%s'\n", $v[$i + 0];
printf " \n[%s]\n", $v[$i + 0];
printf " texture: '%s'\n", $v[$i + 4];
printf " engine shader: '%s'\n", $v[$i + 1];
printf " compiler shader: '%s'\n", $v[$i + 2];
printf " game material: '%s'\n", $v[$i + 3];
# printf " vmap: '%s'\n", $v[$i + 5];
if ($v[$i + 6] != 00000000) {
printf " double sided: true\n";
}
# printf " surface flags: %#8.8x\n", $v[$i + 6];
# printf " fvf: %#8.8x\n", $v[$i + 7];
# printf " tc: %d\n", $v[$i + 8];
}
}
sub read_object_0910 {
my ($cf) = @_;
for (my $expected_id = 0;; $expected_id++) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
if ($id != $expected_id) {
printf "unexpected chunk 7777,0910,%04x\n", $id;
die;
}
read_object_0910_nnnn($cf, $id);
$cf->r_chunk_close();
}
}
sub read_object_0910_nnnn {
my ($cf, $nnnn) = @_;
while (1) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
SWITCH: {
$id == 0x1000 && do { read_object_0910_nnnn_1000($cf, $nnnn); last SWITCH; };
$id == 0x1001 && do { read_object_0910_nnnn_1001($cf, $nnnn); last SWITCH; };
$id == 0x1002 && do { read_object_0910_nnnn_1002($cf, $nnnn); last SWITCH; };
$id == 0x1004 && do { read_object_0910_nnnn_1004($cf, $nnnn); last SWITCH; };
$id == 0x1005 && do { read_object_0910_nnnn_1005($cf, $nnnn); last SWITCH; };
$id == 0x1006 && do { read_object_0910_nnnn_1006($cf, $nnnn); last SWITCH; };
$id == 0x1007 && do { read_object_0910_nnnn_1007($cf, $nnnn); last SWITCH; };
$id == 0x1008 && do { read_object_0910_nnnn_1008($cf, $nnnn); last SWITCH; };
$id == 0x1009 && do { read_object_0910_nnnn_1009($cf, $nnnn); last SWITCH; };
$id == 0x1010 && do { read_object_0910_nnnn_1010($cf, $nnnn); last SWITCH; };
$id == 0x1011 && do { read_object_0910_nnnn_1011($cf, $nnnn); last SWITCH; };
$id == 0x1012 && do { read_object_0910_nnnn_1012($cf, $nnnn); last SWITCH; };
$id == 0x1013 && do { read_object_0910_nnnn_1013($cf, $nnnn); last SWITCH; };
printf "unexpected chunk 7777,0910,%04x,%04x size %d\n", $nnnn, $id, $size;
die;
}
$cf->r_chunk_close();
}
}
sub read_object_0910_nnnn_1000 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1000\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($version) = $packet->unpack('v');
die unless $packet->length() == 0;
# printf " mesh version: %#x\n", $version;
}
sub read_object_0910_nnnn_1001 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1001\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($name) = $packet->unpack('Z*');
die unless $packet->length() == 0;
# printf " mesh name: '%s'\n", $name;
}
sub read_object_0910_nnnn_1002 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1002\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($flags) = $packet->unpack('C');
die unless $packet->length() == 0;
# printf " mesh flags: %#2.2x\n", $flags;
}
sub read_object_0910_nnnn_1004 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1004\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('f3f3');
die unless $packet->length() == 0;
# printf " bounding box\n";
# printf " min: %f, %f, %f\n", @v[0 .. 2];
# printf " max: %f, %f, %f\n", @v[3 .. 5];
}
sub read_object_0910_nnnn_1005 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1005\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('V/(f3)');
# printf " vertex count: %d\n", ($#v + 1)/3;
return unless main::full_dump();
if ($packet->length() == 0) {
for (my $i = 0; $i <= $#v; $i += 3) {
# printf " vertex%d: %f, %f, %f\n", $i/3, @v[$i .. $i + 2];
}
} else {
for (my $i = 0; $i <= $#v; $i += 3) {
# printf " vertex%d: %f, %f, %f\n", $i/3, @v[$i .. $i + 2];
my @a = $packet->unpack('C/V');
# printf " adjacent faces: %s\n", join(', ', @a);
}
}
die unless $packet->length() == 0;
}
sub read_object_0910_nnnn_1006 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1006\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('V/(V2V2V2)');
die unless $packet->length() == 0;
# printf " face count: %d\n", ($#v + 1)/6;
return unless main::full_dump();
for (my $i = 0; $i <= $#v; $i += 6) {
# printf " face%d\n", $i/6;
# printf " vertices: %d, %d, %d\n", $v[$i+0], $v[$i+2], $v[$i+4];
# printf " maps: %d, %d, %d\n", $v[$i+1], $v[$i+3], $v[$i+5];
}
}
sub read_object_0910_nnnn_1007 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1007\n", $nnnn;
}
sub read_object_0910_nnnn_1008 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1008\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($count) = $packet->unpack('V');
# printf " vmref count: %d\n", $count;
return unless main::full_dump();
for (my $i = 0; $i < $count; $i++) {
# printf " vmref%d\n", $i;
my @v = $packet->unpack('C/(V2)');
for (my $j = 0; $j <= $#v; $j += 2) {
# printf " set%d\n", $j/2;
# printf " vmap: %d\n vmap entry: %d\n", @v[$j .. $j + 1];
}
}
die unless $packet->length() == 0;
}
sub read_object_0910_nnnn_1009 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1009\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($count) = $packet->unpack('v');
# printf " surface count: %d\n", $count;
for (my $i = 0; $i < $count; $i++) {
my @v = $packet->unpack('Z*V/V');
# printf " surface%d\n", $i;
# printf " name: '%s'\n", $v[0];
# printf " face count: %d\n", $#v;
next unless main::full_dump();
for (my $j = 1; $j <= $#v; $j++) {
# printf " face%d: %d\n", $j-1, $v[$j];
}
}
die unless $packet->length() == 0;
}
sub read_object_0910_nnnn_1010 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1010\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @unk = $packet->unpack('VV');
# printf " mesh option0: %#8.8x\n", $unk[0];
# printf " mesh option1: %#8.8x\n", $unk[1];
die unless $packet->length() == 0;
}
sub read_object_0910_nnnn_1012 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1012\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($vmap_count) = $packet->unpack('V');
# printf " vmap count: %d\n", $vmap_count;
for (my $i = 0; $i < $vmap_count; $i++) {
my ($name, $value_dim, $has_pidata, $value_type, $data_count) =
$packet->unpack('Z*C3V');
die unless ($value_dim == 1 || $value_dim == 2);
die unless ($value_type == 0 || $value_type == 1);
die unless ($has_pidata == 0 || $has_pidata == 1);
# printf " vmap%d\n", $i;
# printf " name: '%s'\n", $name;
# printf " vmap entry dimension: %d\n", $value_dim;
# printf " vmap type: %s\n", $value_type == 0 ? "vmtUV" : "vmtWeight";
# printf " has discontig uv map: %s\n", $has_pidata != 0 ? "yes" : "no";
# printf " data count: %d\n", $data_count;
my @d = $packet->unpack("(f$value_dim)$data_count");
my @v = $packet->unpack("V$data_count");
my @p;
if ($has_pidata == 1) {
@p = $packet->unpack("V$data_count");
}
next unless main::full_dump();
for (my $j = 0; $j < $data_count; $j++) {
# printf " map%d\n", $j;
# printf " vertex: %d\n", $v[$j];
if ($has_pidata == 1) {
# printf " face: %d\n", $p[$j];
}
if ($value_dim == 1 && $value_type == 1) {
# printf " weight: %f\n", $d[$j];
} elsif ($value_dim == 2 && $value_type == 0) {
my $o = $j*$value_dim;
# printf " uv: %f, %f\n", @d[$o .. $o + 1];
} else {
die;
}
}
}
die unless $packet->length() == 0;
}
sub read_object_0910_nnnn_1013 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0910,%04x,1013\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
die unless $packet->length() % 4 == 0;
my $count = $packet->length() / 4;
my @sg = $packet->unpack("l$count");
die unless $packet->length() == 0;
# printf " smooth group count: %d\n", $#sg + 1;
return unless main::full_dump();
for (my $i = 0; $i <= $#sg; $i++) {
# printf " face%d sg: %d\n", $i, $sg[$i];
}
}
sub read_object_0911 {
my ($cf) = @_;
# printf "chunk 7777,0911\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
printf " 0911length: %d\n", $packet->length();
}
sub read_object_0912 {
my ($cf) = @_;
# printf "chunk 7777,0912\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($userdata) = $packet->unpack('Z*');
die unless $packet->length() == 0;
# printf " userdata: %s\n", ($userdata eq '') ? "not present" : "present";
}
sub read_object_0916 {
my ($cf) = @_;
printf "chunk 7777,0916\n";
}
sub read_object_0920 {
my ($cf) = @_;
printf "chunk 7777,0920\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('f3f3');
die unless $packet->length() == 0;
printf " transform\n";
printf " position: %f, %f, %f\n", @v[0 .. 2];
printf " rotation: %f, %f, %f\n", @v[3 .. 5];
}
sub read_object_0921 {
my ($cf) = @_;
for (my $expected_id = 0;; $expected_id++) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
if ($id != $expected_id) {
printf "unexpected chunk 7777,0921,%04x\n", $id;
die;
}
read_object_0921_nnnn($cf, $id);
$cf->r_chunk_close();
}
}
sub read_object_0921_nnnn {
my ($cf, $nnnn) = @_;
my $def_type = 0;
while (1) {
my ($id, $size) = $cf->r_chunk_open();
defined $id or last;
SWITCH: {
$id == 0x0001 && do { read_object_0921_nnnn_0001($cf, $nnnn); last SWITCH; };
$id == 0x0002 && do {
if ($def_type == 0) {
read_object_0921_nnnn_0002a($cf, $nnnn);
$def_type = 1;
} else {
read_object_0921_nnnn_0002b($cf, $nnnn);
}
last SWITCH;
};
$id == 0x0003 && do { read_object_0921_nnnn_0003($cf, $nnnn); last SWITCH; };
$id == 0x0004 && do { read_object_0921_nnnn_0004($cf, $nnnn); last SWITCH; };
$id == 0x0005 && do { read_object_0921_nnnn_0005($cf, $nnnn); last SWITCH; };
$id == 0x0006 && do { read_object_0921_nnnn_0006($cf, $nnnn); last SWITCH; };
$id == 0x0007 && do { read_object_0921_nnnn_0007($cf, $nnnn); last SWITCH; };
$id == 0x0008 && do { read_object_0921_nnnn_0008($cf, $nnnn); last SWITCH; };
$id == 0x0009 && do { read_object_0921_nnnn_0009($cf, $nnnn); last SWITCH; };
$id == 0x0010 && do { read_object_0921_nnnn_0010($cf, $nnnn); last SWITCH; };
printf "unexpected chunk 7777,0921,%04x,%04x size %d\n", $nnnn, $id, $size;
die;
}
$cf->r_chunk_close();
}
}
sub read_object_0921_nnnn_0001 {
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0001\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($version) = $packet->unpack('v');
die unless $packet->length() == 0;
printf " bone version: %#x\n", $version;
}
sub read_object_0921_nnnn_0002a {
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0002(a)\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($name, $parent, $vmap) = $packet->unpack('Z*Z*Z*');
die unless $packet->length() == 0;
printf " bone name: '%s'\n", $name;
printf " parent bone: '%s'\n", $parent;
printf " vmap name: '%s'\n", $vmap;
}
sub read_object_0921_nnnn_0002b {
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0002((IMG:style_emoticons/default/cool.gif) \n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($name) = $packet->unpack('Z*');
die unless $packet->length() == 0;
printf " name: '%s'\n", $name;
}
sub read_object_0921_nnnn_0003 {
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0003\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('f3f3f');
die unless $packet->length() == 0;
printf " bind position: %f, %f, %f\n", @v[0 .. 2];
printf " bind rotation: %f, %f, %f\n", @v[3 .. 5];
printf " bind length: %f\n", $v[6];
}
sub read_object_0921_nnnn_0004 {
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0004\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($material) = $packet->unpack('Z*');
die unless $packet->length() == 0;
printf " material: '%s'\n", $material;
}
sub read_object_0921_nnnn_0005 {
use constant shape_names => { 0 => 'undefined', 1 => 'box', 2 => 'sphere', 3 => 'cylinder' };
my ($cf, $nnnn) = @_;
printf "chunk 7777,0921,%04x,0005\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($type, $flags, @box) = $packet->unpack('vvf9f3f3');
printf " type: %s\n", shape_names->{$type};
printf " bone shape flags: %#4.4x\n", $flags;
printf " box\n";
printf " rotate\n";
printf " %f, %f, %f\n", @box[0 .. 2];
printf " %f, %f, %f\n", @box[3 .. 5];
printf " %f, %f, %f\n", @box[6 .. 8];
printf " translate: %f, %f, %f\n", @box[9 .. 11];
printf " halfsize: %f, %f, %f\n", @box[12 .. 14];
my @sphere = $packet->unpack('f3f');
printf " sphere\n";
printf " center: %f, %f, %f\n", @sphere[0 .. 2];
printf " radius: %f\n", $sphere[3];
my @cylinder = $packet->unpack('f3f3ff');
printf " cylinder\n";
printf " center: %f, %f, %f\n", @cylinder[0 .. 2];
printf " direction: %f, %f, %f\n", @cylinder[3 .. 5];
printf " height: %f\n", $cylinder[6];
printf " radius: %f\n", $cylinder[7];
die unless $packet->length() == 0;
}
sub read_object_0921_nnnn_0006 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0921,%04x,0006\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('V(f2f2)3ff');
printf " joint type: %d\n", $v[1];
printf " limits\n";
for (my $i = 0; $i < 3; $i++) {
my $o = $i * 4 + 1;
printf " limit%d\n", $i;
printf " range: %f, %f\n", @v[$o .. $o + 1];
printf " spring factor: %f\n", $v[$o + 2];
printf " damping factor: %f\n", $v[$o + 2];
}
printf " spring factor: %f\n", $v[13];
printf " damping factor: %f\n", $v[14];
}
sub read_object_0921_nnnn_0007 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0921,%04x,0007\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('ff3');
die unless $packet->length() == 0;
printf " mass: %f\n", $v[0];
printf " center of mass: %f, %f, %f\n", @v[1 .. 3];
}
sub read_object_0921_nnnn_0008 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0921,%04x,0008\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($flags) = $packet->unpack('V');
die unless $packet->length() == 0;
printf " ik_flags: %#8.8x\n", $flags;
}
sub read_object_0921_nnnn_0009 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0921,%04x,0009\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('ff');
die unless $packet->length() == 0;
printf " break force: %f\n", $v[0];
printf " break torque: %f\n", $v[1];
}
sub read_object_0921_nnnn_0010 {
my ($cf, $nnnn) = @_;
# printf "chunk 7777,0921,%04x,0010\n", $nnnn;
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($friction) = $packet->unpack('f');
die unless $packet->length() == 0;
printf " friction: %f\n", $friction;
}
sub read_object_0922 {
my ($cf) = @_;
# printf "chunk 7777,0922\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my @v = $packet->unpack('Z*VZ*V');
# printf " creator: '%s'\n", $v[0];
# printf " create time: %s", ctime($v[1]);
# printf " editor: '%s'\n", $v[2];
# printf " edit time: %s", ctime($v[3]);
}
sub read_object_0923 {
my ($cf) = @_;
printf "chunk 7777,0923\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($partition_count) = $packet->unpack('V');
for (my $i = 0; $i < $partition_count; $i++) {
my @v = $packet->unpack('Z*V/(Z*)');
printf " partition%d: '%s'\n", $i, $v[0];
for (my $j = 1; $j <= $#v; $j++) {
printf " bone%d: '%s'\n", $j-1, $v[$j];
}
}
die unless $packet->length() == 0;
}
sub read_object_0924 {
my ($cf) = @_;
# printf "chunk 7777,0924\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($unk) = $packet->unpack('Z*');
die unless $packet->length() == 0;
printf " unknown: '%s'\n", $unk;
}
sub read_object_0925 {
my ($cf) = @_;
# printf "chunk 7777,0925\n";
my $packet = stkutils::data_packet->new($cf->r_chunk_data());
my ($lod_ref) = $packet->unpack('Z*');
die unless $packet->length() == 0;
# printf " LOD::Reference: '%s'\n", $lod_ref;
}

#######################################################################
package main;
use strict;

sub usage {
return <<END
ActorEditor .object dumper
Usage: ae_dump_object.pl <input_file>
END
}

sub full_dump { return 1; }

(my $fn = $ARGV[0]) or die usage;
ae_object::read($fn);

Пример вызова:
Код
ae_dump_object.pl obj_name.object {}; > obj_name.txt


пишет данные в виде (для статики):
Код
[mtl_luk_ch_01_SG2]
    texture: 'mtl\mtl_luk_ch_01'
    engine shader: 'def_shaders\def_vertex'
    compiler shader: 'def_shaders\def_vertex'
    game material: 'materials\metal'
  
[mtl_ventil_pod_01_SG]
    texture: 'mtl\mtl_ventil_pod_01'
    engine shader: 'def_shaders\def_vertex'
    compiler shader: 'def_shaders\def_vertex'
    game material: 'materials\metal'


Для динамики тоже должен работать, но я не тестил.

Сообщение отредактировал RayTwitty - 23.01.2017, 19:55
Перейти в начало страницы
 
 
 kir4aev
сообщение 19.02.2017, 12:38
Сообщение #3213


Опытный Игрок
****

Группа: Участник
Сообщений: 63
Регистрация: 19.02.2017
Пользователь №: 26999



Народ кто-нибудь сталкиваля с такой проблемой у меня монитор 2560х1440, я в винде ставлю размер шрифтов 125%, чтобы видно было и не ломать глаза.
Проблема в том что в СДК тогда не видно команд в окнах в detail objects, groups и т.д. там просто вылазиют слова или их просто вообще нет(шрифт тупо слишком крупный). Есть идеи как поступить в такой ситуации?

Сообщение отредактировал kir4aev - 19.02.2017, 12:53
Перейти в начало страницы
 
 
 Trollz0r
сообщение 19.02.2017, 16:17
Сообщение #3214


Почти Мастер
***********

Группа: Участник
Сообщений: 1155
Регистрация: 28.05.2010
Из: Кайфовая республика, Атдушинский район
Пользователь №: 13942



Да никак, СДК не поддерживает масштабирование интерфейса. Его проектировали в пору, когда мониторы 17" считались высшим достижением, а Вин2000 была основной ОС.

На 1920х1080 масштаб 125% ещё туда-сюда, а на разрешениях выше уже всё как ты описал.
Перейти в начало страницы
 
 
 RSFSR
сообщение 26.03.2017, 22:15
Сообщение #3215


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

Группа: Участник
Сообщений: 398
Регистрация: 30.09.2015
Пользователь №: 22513



сколько всего граф-поинтов можно ставить на локацию в тч? у меня при 800 штуках при компиляции графа локации ии-компилятор вылетает. если уменьшить до 600 - то все норм.
при компиляции комп сильно подвисает на несколько минут.
в логе ничего проясняющего ситуацию нет:
лог
* Detected CPU: GenuineIntel Pentium-III, F6/M7/S10, 3000.00 mhz, 192-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
FS: 37187 files cached, 4519Kb memory used.
Init FileSystem 1.540063 sec
'xrCore' build 0, (null)

CRT heap 0x02a20000
Process heap 0x00260000
Loading DLL: xrSE_Factory.dll
'xrCore' build 0, (null)

CRT heap 0x02a20000
Process heap 0x00260000
"LevelBuilder v4.1" beta build
Compilation date: Mar 27 2010

Startup time: 17:39:30

* New phase started: Building level game graph
level "gamedata\levels\lom\"
Loading AI map
1127930 nodes loaded
Loading graph points
Script debugger succesfully restarted.
* loading script _G.script
* loading script class_registrator.script
* loading script smart_terrain.script
* loading script se_respawn.script
* loading script se_switcher.script
* loading script se_stalker.script
* loading script se_car.script
* loading script se_zones.script
* loading script se_item.script
* loading script se_artefact.script
* loading script se_monster.script
* loading script game_registrator.script
1316 graph points loaded
Building cross table

вылазит не жук, а ошибка виндовс.
компиль пысовский, что в 2010 выложили. также пробовал х64 версией - тоже самое
стадия компиляции графа самая первая
CODE
@start bins\compiler_ai\xrAI.exe -g

заранее спасибо
Перейти в начало страницы
 
 
 krovosnork
сообщение 27.03.2017, 15:16
Сообщение #3216


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

Группа: Участник
Сообщений: 643
Регистрация: 29.09.2012
Из: Планета Земля
Пользователь №: 15085



RSFSR, там где-то ~700 можно поставить, дальше уже нужно править компилятор.
Перейти в начало страницы
 
 
 Destroy Nerve
сообщение 08.04.2017, 21:48
Сообщение #3217


Новичок
*

Группа: Участник
Сообщений: 13
Регистрация: 07.04.2017
Пользователь №: 27219



Здравствуйте. Скажите пожалуйста может кто-то видел такой вылет invalid visual
На свеже скомпилированой локации. Отчего такое может быть и как лечить. У меня он уже был до этого, я перекомпилировал уровень всё нормально, а вот снова появился. Теперь перекомпилировать не хочется совсем, надоело, долго.
Перейти в начало страницы
 
 
 aka_sektor
сообщение 08.04.2017, 21:58
Сообщение #3218


Грандмастер
**************

Группа: Участник
Сообщений: 1788
Регистрация: 04.04.2013
Из: Беларусь
Пользователь №: 16432



Destroy Nerve, выложи полный лог, так трудно сказать.
Перейти в начало страницы
 
 
 Destroy Nerve
сообщение 08.04.2017, 22:40
Сообщение #3219


Новичок
*

Группа: Участник
Сообщений: 13
Регистрация: 07.04.2017
Пользователь №: 27219



FATAL ERROR

[error]Expression : fatal error
[error]Function : dxRender_Visual::Load
[error]File : D:\prog_repository\sources\trunk\Layers\xrRender\FBasicVisual.cpp
[error]Line : 60
[error]Description : <no expression>
[error]Arguments : Invalid visual


stack trace:
Перейти в начало страницы
 
 
 macron
сообщение 09.04.2017, 00:17
Сообщение #3220


Игровой Бог
**********************

Группа: Участник
Сообщений: 7021
Регистрация: 22.02.2006
Из: Париж
Пользователь №: 3089



Цитата(Destroy Nerve @ 08.04.2017, 22:44) *
Invalid visual

Обычно это относится к моделям (НПСи или еще какая физика).
Перейти в начало страницы
 
 
 aka_sektor
сообщение 09.04.2017, 00:20
Сообщение #3221


Грандмастер
**************

Группа: Участник
Сообщений: 1788
Регистрация: 04.04.2013
Из: Беларусь
Пользователь №: 16432



Destroy Nerve, Я же попросил полный лог, а не только дебаг.
Перейти в начало страницы
 
 
 
 

 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 03.07.2022, 20:52