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

[SoC] Вопросы по SDK


faniloko

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

(изменено)

Приветствую уважаемых господ и спешу вопросить по поводу непотребного поведения х64 компилятора геометрии.

 

Суть проблемы:  происходит вылет на стадии Build UV mapping пустой локации с одним террейном(доработанный вариант темной долины из билда 2008). На старых компиляторах х32 все компилируется успешно. Другие большие локации компилируются также успешно. Инвалиды убирал, компилил с обходом, но, очевидно, дело не в этом. Террейн состоит всего из трех материалов.

 

Я поставил целый ряд экспериментов и выяснил, что этот же самый террейн компилируется если его обрезать, причем независимо как именно, но, возможно, компилировалось, когда оставалась меньшая часть. Я обрезал разные части и иногда вылет происходил независимо от части которая осталась. НО, если террейн разрезать на два куска, то все компилируется успешно. Проблему я исследовал с разных сторон: и пробовал разное и материал менять на один, и на не терейновский, и один оставлять, и инвалидные фейсы убирал.

 

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

 

    На картинках показано как обрезал. Красное - отрезал.

    https://yadi.sk/d/uT3zS6xkqJjdi

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

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


Ссылка на сообщение
(изменено)

Лучше уточнять, какой именно имеется в виду

Не уточнил т.к. x64 компиляторов мало и думалось, что все их основные проблемы на слуху. У меня скорее всего последний.

 

В общем, я попытался скомпилить всю локацию х32 комплиятором с обходом инвалидов(до х64 только им пользовался) и компиляция прошла стадию Build uv mapping, но сразу после нее появилась ошибка на стадии subdivision'а. Когдато ранее локация компилировалась успешно. Сейчас попробовал все лоды убрать и вот сейчас компиляция ушла дальше, до лайтмапов и продолжается. Как разберусь напишу сюда, может пригодится.

 

 

Еще вопрос. Я загружаю геометрию в макс целиком и там редактирую и обычно обратно экспортирую все обьекты, коих в обычной локе много. Могу ли я все обьекты локации соединить так, чтобы их было не 1500, а гдето 200? Не повлияет ли это негативным образом на компиляцию? Для сдк вроде одни плюсы, немного быстрее работает.

 

 Как импортить геометрию в сдк, если ты, например, с нуля сделал уровень в котором 1000 обьектов? Мануально, через Multiple append?

 

 

 

косячит с рандомным пересветом лайтмапов

Меня интересует только r2. Это сильно на него повлиет? Я компилировал с ключами -norgb  -nosun.

 

 

В чем отличия в качестве компиляции локаций, кроме отображения сеток и лайтмапов?

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

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


Ссылка на сообщение
(изменено)

Все собралось на х32 компиляторе с обходом инвалидов. С х64 пока ничего не придумал. Уже даже не знаю куда копать. Наверное попробую второй х64 компилер.

 

scala, Давненько кто-то из камрадов, то ли  Колмогор то ли Бардак, писал, что Сталк хорошо работает с большим количеством низкополигональных объектов, и плохо с хайполи

Я собрал эту локу с обьединенными обьектами(100 вместо 800 примерно) и не заметил никакой разницы вообще.(ее до этого компилил неск раз). Во время компиляции происходит некоторая оптимизации и, видимо, аттач\детач обьектов. Иногда, когда декомпилируешь локацию, некоторые обьекты разбиваются на несколько частей, портальная геометрия сливается с фасадом. Если это не последствия работы декомпилятора, то результат компиляции. Смешно то, что треть обьектов локации до этого составляли кирпичи разбросанные на 10ти квадратных метрах.

 

 

Еще хочу поделиться опытом. Однажды собрал локацию. Эту же самую злополучную долину. При подлете, примерно, к середине локации случался вылет без лога. Причем не сразу а с небольшими интервалами. Или даже если не подходишь к центру локации, то через некоторое время. Оставил только геометрию. Флаш лога не показывал ничего нового. На пустом террейне вылета не было. Далее я обрезал центр локации и его опять не было. В итоге через некоторое время меня осенило и я решил проверить hom в максе. Точно не помню, но проблема, кажется, была в том, что два одинаковых фейса были на одном и том же месте или инвалидный присутствовал. Это давало такое странное непостоянное поведение, когда ошибка геометрии вылетает не сразу.

Изменено пользователем scala
  • Полезно 1

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


Ссылка на сообщение

На моей памяти единственный. Я его месяц искал.

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


Ссылка на сообщение
(изменено)

1) Macron, выдай, пожалуйста, ссылку на х64 компилер за февраль-март 2015. Сам не нашел.

 

2) Мне так и не ответили. Чем отличается качество компиляции xrLC, кроме прозрачности сеток и лмапов?

Что мне делать если меня интересует только абсолютный второй рендер без всяких статических солнц? Компилить выше драфта и без лмапов?

 

3) Проблему с xrlc x64 2014 не решил. Вылет на разных процентах 'Build uv mapping'. Продолжаю эксперименты. Нашел один терреин который тоже не компилировался. Компилил пустую локацию с ним одним. ЕСЛИ уменьшить в сдк его размер до 90%, то он компилируется. Если в нем удалить все вертексы кроме углов и сделать с ними всего два полигона, то компилится. Идей ноль - он 1х1км, полигонов 2000, шейдер один, ошибок геометрии\тестур вроде нет. С другими некомпилирующимися терреинами такое не происходит. Резать терреины на много частей пробовал, это не дает эффекта.

 

К посту прилагаю скриншоты с дополнительной информацией и файл терреина. Будет круто если ктонибудь попробует его скомпилировать.

 

скрины

https://yadi.sk/i/y2-53cwdqjjDD

терреин:

https://yadi.sk/d/oPyU82oZqjj9N

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

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


Ссылка на сообщение
(изменено)

Спасибо, но вылет точно такой же. Зато теперь у меня целый зоопарк.

 

 

Если брать параметр Lmap quality, то
Почитай ридми к сборке, есть всякие параметры

Все это я знаю. Я думал ктонибудь даст полный ответ

из которого я узнаю редкоупоминаемые вещи.

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

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


Ссылка на сообщение
(изменено)

Кажется, я начинаю сходить с ума.

 

Я все про эти х64 компилеры. Только что декомпилил escape из тч и попробовал скомпилить только пустой терреин от него. Не правил ничего. и опять вылет на 'Build UV mapping'.

 

Очень прошу когонибудь повторить то же самое на своем пк. И с терреином из этого поста http://www.amk-team.ru/forum/topic/1560-soc-voprosy-po-sdk/?p=1004760 тоже можно.

Использовать один из двух х64 компилюров геометрии(2014 или 2015). Вылетают оба.

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

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


Ссылка на сообщение
(изменено)
Попробовать не могу, но скажу, что мы собирали для мода 15 локаций на х64 компиляторе от K.D.. И все ок.

Проблема не так проста. Я в предыдущих постах подробно описал. 

 

 

 

Сейчас попробовал скомпилировать один некомпилящийся х64-компилом терреин, х32-компилятором. А потом декомпилировать и попробовать скомпилить х64-компилом. Это тоже не помогает.

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

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


Ссылка на сообщение
(изменено)
scala, пробовал компилировать террейн который ты выложил

Спасибо большое. Догадка верна и ситуация принимает интересный оборот. Уже чувствую азарт багоискателя.

 

А теперь платиновый вопрос: каким образом х64 компил перестает работать, а х32 нет? Какие идеи?

 

@CuJIbBEP, сейчас сравнил логи и до обрыва все вроде одинаковое, но смущает кусок лога с описанием текстур. У меня не написано 'loading'. Хотя, кажется, ранее в логах видел, что не всегда 'loading' пишется.

 

           * ImageLibrary version: 3.16.0

           * 26 supported formats
               |    | processing: rawdata\textures\glow\glow_04.thm
               |    | - loading: glow\glow_04
               |    | processing: rawdata\textures\terrain\terrain_dom.thm
               |    | - loading: terrain\terrain_dom
               | Post-process materials...
               |    | * sizes: V(80),F(136)
 
          
           * ImageLibrary version: 3.16.0
           * 26 supported formats
               |    | processing: rawdata\textures\glow\glow_04.thm
               |    | processing: rawdata\textures\terrain\terrain_dol-2.thm
               | Post-process materials...
               |    | * sizes: V(80),F(136)

 

 

 

 

Заканчивается мой лог просто обрывом. Твой же продолжается далее и все ок.

 

* New phase started: Build UV mapping...
    | Processing...
    |    | 1 subdivisions...
    | Isolating vertices...
 
 
* New phase started: Build UV mapping...
    | Processing...
 

 

 

 

Мой полный лог на всякие случай: http://rghost.ru/8dzj52pLH

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

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


Ссылка на сообщение
(изменено)

К сожалению это предположение неверно, даже на основе того, что я писал в прошлых постах. х32 компил успешно все обрабатывает и некоторые локи спокойно компилятся с х64. Некоторые ранние версии моих локаций компилились и потом, после некоторых изменений перестали. Но теперь очевидно, что вылет мало зависит от этого тк пустой родной тч терреин эскейпа не обработался под х64. Сейчас, например, скомпилил этот же террейн х32 компилом. И, кстати, он тоже не пишет 'loading', но все работает.

 

И самое главное: я уменьшил это терреин в сдк до 90% и все скомпилилось! 

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

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


Ссылка на сообщение
(изменено)

Все сдк и редакторы в "Program Files (x86)"., что ни коим образом не мешало последние несколько лет. У меня сейчас совмещенная припять в максе есть. Я очень сомневаюсь, что это мой случай. Прочитай мои посты на несколько страниц назад. Там более подробно описана суть бага. Дело врятли в путях тк компил иногда работает. Например, в моем терреине если оставить угловые вертексы, сделав из него квадрат, то все компилируется. И это при том, что некоторые большие локации успешно компилировались.

 

Идей нет, буду тыкать пальцем в небо. Вот, например, fsgame. Я проверял сам, но ничего не нашел эдакого.  У меня своя структура папок, но ее уже упроверялся.

 

$app_data_root$ = true| false| appdata\
$sdk_root$ = false| false| $fs_root$
$sdk_root_raw$ = false| false| $sdk_root$| rawdata\
$local_root$ = false| false| $sdk_root$
;
$game_data$     = false| true|  $sdk_root$| gamedata\
$game_ai$     = true|  false| $game_data$|       ai\
$game_spawn$     = true|  false| $game_data$|       spawns\
$game_levels$     = true|  false| $game_data$|       levels\
$game_meshes$     = true|  true|  $game_data$|       meshes\|     *.ogf;*.omf| Game Object files
$game_anims$     = true|  true|  $game_data$|       anims\|     *.anm;*.anms| Animation files
$game_dm$     = true|  true|  $game_data$|       meshes\|     *.dm|           Detail Model files
$game_shaders$     = true|  true|  $game_data$|       shaders\
$game_sounds$     = true|  true|  $game_data$|       sounds\
$game_textures$     = false| true|  $game_data$|       textures\
$game_saves$     = true|  false| $app_data_root$|   savedgames\| *.sav|          Saved games
$game_scripts$     = true|  false| $game_data$|       scripts\|       *.script|       Game script files
$game_config$     = true|  false| $game_data$|       config\
;
$level$       = false| false| $game_levels$
$logs$       = true|  false| $sdk_root$|   appdata\logs\|     *.err|          Log files
$sounds$     = true|  true|  $sdk_root_raw$|     sounds\|     *.wav|          Wave files
$textures$     = true|  true|  $sdk_root_raw$| textures\
$objects$     = false| true|  $sdk_root_raw$| objects\|     *.object;*.lwo| XRay objects
$clips$       = false| true|  $sdk_root_raw$| objects\|     *.clip|         Object clips
$maps$       = true|  true|  $sdk_root_raw$|       maps\|     *.level|        XRay levels
$groups$       = true|  true|  $sdk_root_raw$|       groups\|     *.group|        XRay groups
$temp$       = true|  false| $app_data_root$|   temp\
$import$     = true|  true|  $sdk_root_raw$|       import\|     *.object;*.lwo;*.txt;*.xr;*.wav;*.obj;*.ltx|    Files
$detail_objects$   = true|  true|  $import$|       |     *.dti|          Detail indices
$omotion$     = true|  true|  $import$|       |     *.anm|          Object animation files
$omotions$     = true|  true|  $import$|       |     *.anms|         Object animation list files
$smotion$     = true|  true|  $import$|       |     *.skl;*.skls|   Skeleton motion files
$sbones$     = true|  true| $import$|       |     *.bones|       Skeleton bone data files

 

 

Он же в более читаемом виде http://pasted.co/a8a723a8/fullscreen.php?hash=df686cf0e39a17b42ef2bbc64712ab4d&toolbar=true&linenum=false

 

В папке компилюров такая же копия.

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

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


Ссылка на сообщение
(изменено)

Ктонибудь знает, почему xrLC x64 уже часов 10 компилит болота чн на финальной  стадии - Building sectors? Все остальные прошли за пару часов и сектор только один дефолтный? Потребление памяти в диспетчере задач меняется, проц на треть загружен - значит он вроде работает. Настройки чуть выше драфта.

 

[05.05.16 00:30:47.214] * New phase started: Building sectors...
[05.05.16 00:30:47.253]     | Determining sectors...
[05.05.16 00:30:47.254]     |    | 1 sectors accepted.
[05.05.16 00:30:47.254]     | Spatializing geometry...
[05.05.16 00:30:47.254]     | Building hierrarhy...

 

 

 

Была еще проблема на стадии Converting to OGFs, но я нажал продолжить и компиляция пошла дальше.

[04.05.16 23:57:35.937] * New phase started: Converting to OGFs...
[04.05.16 23:57:35.968]     |    |   0: opt : v(0)-f(0)
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979] FATAL ERROR
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979] [error]Expression    : assertion failed
[04.05.16 23:57:35.979] [error]Function      : OGF::Optimize
[04.05.16 23:57:35.979] [error]File          : OGF_Face.cpp
[04.05.16 23:57:35.979] [error]Line          : 193
[04.05.16 23:57:35.979] [error]Description   : vertices.size()
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979] 
[04.05.16 23:57:35.979] DEBUG CONTEXT DUMP:
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:35.979]  
[04.05.16 23:57:36.059] *** break by StackWalk ***
[04.05.16 23:57:36.059] stack trace:
[04.05.16 23:57:36.059] 
[05.05.16 00:22:25.544]     |    |   0: cb  : v(0)-f(0)
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545] FATAL ERROR
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545] [error]Expression    : assertion failed
[05.05.16 00:22:25.545] [error]Function      : OGF_Base::CalcBounds
[05.05.16 00:22:25.545] [error]File          : OGF_Face_Sphere.cpp
[05.05.16 00:22:25.545] [error]Line          : 36
[05.05.16 00:22:25.545] [error]Description   : V.size()>=3
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545] 
[05.05.16 00:22:25.545] DEBUG CONTEXT DUMP:
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545]  
[05.05.16 00:22:25.545] *** break by StackWalk ***

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

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


Ссылка на сообщение

 

 

уверен, что возможно создать какую-либо утилиту\скрипт, которая(ый) на основе списка соответствия текстур, автоматом бы подменял(а) их

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

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...