[SDK] X-Ray SDK 0.4 |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
[SDK] X-Ray SDK 0.4 |
15.05.2007, 21:09
Сообщение
#3201
|
|
The One Репутация: 744 Группа: Участник Сообщений: 2715 Регистрация: 05.12.2005 |
Ответы на часто задаваемые вопросы Вопрос: Какие системные требования у СДК? Ответ: Неограниченные Вот самые минимальные: Процессор - 1000MHz Память - 512Mb Графика - Видеокарта с 32Mb памяти, и поддержкой шейдеров версии 1.1 Вопрос: Где можно скачать СДК? Ответ: Вопрос: Какие компоненты входят в пакет СДК? Ответ: LevelEditor - компоновщик уровней ActorEditor - экспортер моделей, экспорт в ogf,omf и т.д ShaderEditor - редактор параметров шейдеров ParticleEditor - редактор эффектов игры xrLC - базовый компилятор карт xrDO_light - компилятор детальных объектов карты Плагины экспорта геометрии для Maya 8 и 8.5 Документация (На английском языке) А вот Вопрос: А где взять плагины для 3Ds Max? Ответ: ЗДЕСЬ (Для 3Ds Max 8) или ЗДЕСЬ (Для 3Ds Max 7). Вопрос: Будет ли СДК на синглплеер? Ответ: СДК на синглплейер в обозримом будущем - не предвидится. Вопрос: Есть ли СДК меньших размеров чем 300 Mb? Ответ: Да. УЖАТАЯ ВЕРСИЯ (20 Mb) Вопрос При запуске СДК - выводится окно: "Сбой при инициализации приложения. Для выхода нажмите кнопку ОК" Что делать? Ответ Установить Вопрос При запуске СДК - выводится окно: "Необходимый файл динамической библиотеки d3dx**.dll не найден" Что делать? Ответ Установить Вопрос: Русифицирован ли СДК? Ответ: Да. Вот русификатор Вопрос:SDK не работает под Windows Vista. Что делать? Ответ:SDK - несовместим с Vista. НО есть способ "запуска" - ЗДЕСЬ Вопрос: А можно ли делать модели в самом редакторе? Не только компилировать, но и делать? Ответ: Нет. Модели и геометрию создавать нельзя. Вопрос: Есть ли в интернете документация и обучающие материалы на русском языке? Ответ: Да. ЗДЕСЬ, и Вопрос: При компиляции карты - компилятор слетает с ошибкой. FATAL ERROR Цитата expression : 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 файл" Цитата expression : 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 Вопрос: Запускаю новую карту на полном динамическом освещении, вылет с логом (на этапе загрузки шейдеров): Цитата expression : 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 Ответ: Скачать и установить ИСПРАВЛЕНИЕ Вопрос: Карта не компилируется. Компилятор слетает с ошибкой Цитата expression : fatal error Function : CBuild::PreOptimize File : D:\xray-svn\xrLC\xrPreOptimize.cpp Line : 132 Description : <no expression> Arguments : * FATAL: 145 invalid faces. Compilation aborted Что делать? Ответ:В какой-то (каких-то) из моделей на карте - есть 145 Invalid Faces. В моделях НЕ должно быть: - Очень длинных тонких треугольников. - Потяжек текстур. - Несвязанных рёбрами вершин. Вопрос: Что обозначают красные точки во вьюпорте level editor, после того как сделаешь build?: Ответ: Вершины и координаты ошибок геометрии TGA/THM rawdata для Запуск на Win7 и Vista Запуск на Win8 Сообщение отредактировал RayTwitty - 15.06.2018, 01:12 |
 
|
|
|
|
12.01.2017, 12:09
Сообщение
#3202
|
|
Опытный Геймер Репутация: 50 Группа: Участник Сообщений: 157 Награды: 2 Регистрация: 20.03.2014 |
В том же сдк, scene > summary info > objects (в references, количество ссылок на модель), в common можно сделать экспорт в txt-файл.
|
 
|
|
12.01.2017, 12:49
Сообщение
#3203
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
В том же сдк, scene > summary info > objects (в references, количество ссылок на модель), в common можно сделать экспорт в txt-файл. Экспорт там конечно практически не читаемый :/ Но все равно спасибо. -------------------- |
 
|
|
13.01.2017, 12:58
Сообщение
#3204
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Наткнулся на пост с логами вылетов X-Ray SDK: http://www.gameru.net/forum/index.php?s=&a...t&p=1226414
Удалось разобраться кому-нибудь в чем причина и как их решить? -------------------- |
 
|
|
14.01.2017, 03:10
Сообщение
#3205
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Небольшой разбор команды конвертера
Работает оно следующим образом (ТЧ СДК): 1) смотрит, какие текстуры есть в $game_textures$ (gamedata); 2) конвертирует в tga те, у которых есть прозрачность и которые не являются бампами; 3) результаты помещает в $textures$ (rawdata). Из статьи: Цитата Утилита читает все .thm файлы в $textures$ У меня rawdata вообще была пустая (умышленно все оттуда убрал), сконвертировалось без проблем. Нужны только сами dds-текстурки в геймдате. По поводу ключа with_solid. По умолчанию, конвертер обрабатывает только те текстуры, у которых есть прозрачность (листья деревьев, сетка, колючая проволока и т.д.). Этот ключ предписывает обрабатывать еще и текстуры без прозрачности. Не трудно догадаться, зачем нужен ключ with_bump - с ним обрабатываются еще и бампы. -------------------- |
 
|
|
14.01.2017, 04:32
Сообщение
#3206
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Кто использовал деревья AN3 в ТЧ - тени на р1 нормально рендерятся? У меня почему-то листья не просчитывает Сравнил настройки шейдров в модели со скрина - не отличается от стандартных ТЧ деревьев. Могу предположить, что проблема в текстурах, а именно в thm. Дело действительно оказалось в текстурах. А точнее, в tga\thm. Раньше я использовал dds2tga converter, который как выяснилось очень кривой - текстуры получались без альфы и соответственно были косяки при компиляции. При использовании конвертера от Бардака всё в порядке (разбор в предыдущем посте). Готовые текстуры для Сообщение отредактировал RayTwitty - 20.01.2017, 17:10 -------------------- |
 
|
|
15.01.2017, 00:05
Сообщение
#3207
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Список ТЧ текстур с альфа каналом*, полученный при помощи данного конвертера.
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 в геймдате. -------------------- |
 
|
|
15.01.2017, 01:47
Сообщение
#3208
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
В оригинале разрабы довольно таки неудачно выставили шейдеры для матрасов. На статике мы получаем нечто подобное:
А на динамике, оно вообще полупрозрачное. Что в принципе и понятно, как настроили, такой и результат. После небольших тестов была получена комбинация: Код Shader: def_shaders\def_aref Compile: def_shaders\def_noshadow Статика / Динамика На статике тени от этих тонких прутиков отключены, а на динамике теперь можно сделать бамп к текстурке, чтобы она блестела Аналогичную настройку также рекомендуется установить для колючей проволоки. Сообщение отредактировал RayTwitty - 17.01.2017, 18:58 -------------------- |
 
|
|
15.01.2017, 02:20
Сообщение
#3209
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Для исправления сей шляпы со сглаживанием, помогло уменьшение значения Normal smooth angle в настройках сцены. Конкретно для катакомб Агропрома, оптимальным значением оказалось 61.00. -------------------- |
 
|
|
17.01.2017, 18:47
Сообщение
#3210
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Для получения теней на обоих рендерах от сетки рабицы и маскировочной сетки, рекомендуются следующие настройки (соответственно):
Код Shader: def_shaders\def_aref иCompile: def_shaders\default_lm03 Код Shader: def_shaders\def_aref Compile: def_shaders\default_lm03_ghost // без коллизии Статика / Динамика Для получения четких теней, разумеется нужны высокие настройки компиляции / большой размер карты теней. Более подробно про шейдеры для сетки на р1 Сообщение отредактировал RayTwitty - 29.01.2017, 17:23 -------------------- |
 
|
|
17.01.2017, 19:09
Сообщение
#3211
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
RayTwitty, хотелось бы, чтобы такие примеры со скриншотами были где нибудь на вики. А то здесь тема имеет 161 страницу и через месяц вряд ли этот пост кто-то найдёт. Не нравятся мне такие темы. Что здесь, что на амк и ap-pro. Сообщения здесь однодневки. Сегодня прочитал, завтра их уже не найдёшь (много страниц искать или забыл в какой теме писали и начинаешь листать 100 страничные темы).
Лучше были бы более мелкие темы и их количество было бы больше (например, эту тему можно было бы разбить на AE, LE, PE, SE, вопросы по этим редакторам и т.д.) -------------------- |
 
|
|
23.01.2017, 19:55
Сообщение
#3212
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Немного допиленный скрипт (
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(\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 -------------------- |
 
|
|
19.02.2017, 12:38
Сообщение
#3213
|
|
Опытный Игрок Репутация: -3 Группа: Участник Сообщений: 63 Награды: 1 Регистрация: 19.02.2017 |
Народ кто-нибудь сталкиваля с такой проблемой у меня монитор 2560х1440, я в винде ставлю размер шрифтов 125%, чтобы видно было и не ломать глаза.
Проблема в том что в СДК тогда не видно команд в окнах в detail objects, groups и т.д. там просто вылазиют слова или их просто вообще нет(шрифт тупо слишком крупный). Есть идеи как поступить в такой ситуации? Сообщение отредактировал kir4aev - 19.02.2017, 12:53 -------------------- "Перо свободы. Независимые расследования. Альтернативное мнение."
Очерки, статьи и рассказы о "Новой России Будущего": |
 
|
|
19.02.2017, 16:17
Сообщение
#3214
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Да никак, СДК не поддерживает масштабирование интерфейса. Его проектировали в пору, когда мониторы 17" считались высшим достижением, а Вин2000 была основной ОС.
На 1920х1080 масштаб 125% ещё туда-сюда, а на разрешениях выше уже всё как ты описал. -------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
26.03.2017, 22:15
Сообщение
#3215
|
|
Продвинутый геймер Репутация: 24 Группа: Участник Сообщений: 398 Награды: 4 Регистрация: 30.09.2015 |
сколько всего граф-поинтов можно ставить на локацию в тч? у меня при 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 заранее спасибо |
 
|
|
27.03.2017, 15:16
Сообщение
#3216
|
|
Почти Игроман Репутация: 127 Группа: Участник Сообщений: 643 Награды: 3 Регистрация: 29.09.2012 |
RSFSR, там где-то ~700 можно поставить, дальше уже нужно править компилятор.
|
 
|
|
08.04.2017, 21:48
Сообщение
#3217
|
|
Новичок Репутация: -1 Группа: Участник Сообщений: 13 Регистрация: 07.04.2017 |
Здравствуйте. Скажите пожалуйста может кто-то видел такой вылет invalid visual
На свеже скомпилированой локации. Отчего такое может быть и как лечить. У меня он уже был до этого, я перекомпилировал уровень всё нормально, а вот снова появился. Теперь перекомпилировать не хочется совсем, надоело, долго. |
 
|
|
08.04.2017, 21:58
Сообщение
#3218
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Destroy Nerve, выложи полный лог, так трудно сказать.
-------------------- |
 
|
|
08.04.2017, 22:40
Сообщение
#3219
|
|
Новичок Репутация: -1 Группа: Участник Сообщений: 13 Регистрация: 07.04.2017 |
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: |
 
|
|
09.04.2017, 00:17
Сообщение
#3220
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
09.04.2017, 00:20
Сообщение
#3221
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Destroy Nerve, Я же попросил полный лог, а не только дебаг.
-------------------- |
 
|
|
Текстовая версия | Сейчас: 19.04.2024, 22:48 |