Тема: Решение ошибок и проблем Ключевые слова: поиск ошибка проблема error См. также:
Примечание: Это пополняемая "копилка" сведений (не является законченной
статьей). Есть полезный ресурс (на английском языке), который содержит описание и решение всех ошибок компиляции - по адресу http://www.interlopers.net/errors/. На указанной странице есть даже текстовое поле, в которое можно скопировать журнал (лог) компиляции карты и проверить на ошибки. Дополнительно, можно почитать тему Ошибки компиляции и способы их устранения Замечание: большинство проблем, возникающих при работе с редактором Hammer и вообще со Steam, происходят из-за использования нелицензионной версии и не обсуждаются на большинстве форумов по маппингу. Их рассмотрение невозможно и в этой справке. Проблема: редактор 3D-объектов Autodesk Softimage Mod Tool (или XSI Mod Tool) при запуске выдает ошибку: User's directory contains non ascii character(s). XSI will terminate Решение: возможны 2 варианта.
Проблема: в игре наблюдается эффект "плывущей" картинки, т.е. при взгляде в определенном направлении или сквозь конкретное отверстие в стене (окно, дверь, пролом и т.п.) изображение начинает оставлять следы, веерообразно накладывающиеся друг на друга. Эти следы могут заслонять другие объекты или NPC. Пример: Причина: наличие утечек (leaks) на карте. Другими словами, на карте есть "дыры в окружающее пространство". Решение: просмотрите журнал (лог) компиляции в поисках строк …leaked! и исправьте карту, пользуясь выданными в тексте ошибок координатами (можно использовать пункт меню Map -> Load Pointfile). Более подробно см. Утечки. Замечание: по-видимому, многие ошибки компилятора VVIS происходят из-за наличия утечек в карте. Как следствие - при ошибках VVIS в первую очередь проверяйте карту на утечки. Проблема: неправильные отражения на воде, поверхности отражают только небо (skybox). Решение: необходимо расставить на карте энтити env_cubemap и выполнить построение кубмапов. Подробнее см. разделы env_cubemap, Отражения и кубмапы. Проблема: источник света не появляется на карте (отсутствует его свет). Причина: это происходит из-за частичного или полного перекрытия источника света брашем или энтити (предполагается, что параметры источника выставлены правильно, он изначально включен, а компиляция карты выполнена с VVIS и VRAD), т.е. источник света "погружен" в них частично или полностью. Решение: расположите источник света таким образом, чтобы он по не "залезал" в другие объекты и не соприкасался с ними. Проблема: в журнале (логе) компиляции сообщение об ошибке содержит название файла или каталога, содержащее пробелы или русские буквы. Причина: оболочка Steam и поддерживаемые ею программы (редактор Hammer, компиляторы и т.д.) некорректно обрабатывают названия файлов и каталогов с вышеупомянутыми особенностями. Решение: необходимо исправить все пути и имена файлов, убрав пробелы и русские буквы. Замечание: в качестве временной меры можно не убирать пробелы, а просто заключить все соответствующие пути в двойные кавычки (""), настроив соответствующим образом компиляцию. Но в окончательном варианте не стоит использовать пробелы в названиях каталогов Steam и модов, хотя бы потому, что игроки, скачавшие Ваш мод, могут столкнуться с проблемой запуска (в лучшем случае). Замечание: если пути к файлам Steam содержат каталоги с некорректными именами, необходимо не просто изменить названия каталогов, а переустановить Steam с исправленным путем для установки. Не забудьте предварительно сделать копии важных файлов (см. ниже). Замечание: если каталоги с некорректными именами содержит путь только к Вашему моду, достаточно заново создать мод с корректным путём. Затем переместите ранее созданные карты, материалы, текстуры и прочее из старых каталогов в новые. Если ничего не потерялось, можно удалять старый каталог мода. Замечание: желательно сделать копии фалов *.gcf (из каталога Steam) перед удалением самого Steam - это сэкономит затраты на повторную установку Steam. Не придется заново скачивать все обновления и устанавливать нужные программы (игры). Просто установите Steam, скопируйте сохраненные *.gcf-файлы в каталог <путь установки Steam>/SteamApps и перезапустите Steam. Все ранее существующие игры будут восстановлены. Проблема: в журнале (логе) компиляции появляются сообщения WARNING: Cluster portals saw into cluster. Причина: сложный по форме браш, или большой браш, не выровненный по сетке в редакторе Hammer (т.е. редактировавшийся с нажатой клавишей Alt). Решение: преобразуйте сложные браши в энтити (НО энтити не ограничивают пространство карты и могут вызвать утечки при компиляции; в этом случае нужно добавить простые браши позади энтити). Если есть браши, не выровненные по сетке, желательно выровнять их все. Проблема: при запуске откомпилированной карты (или мода) появляется сообщение об отсутствующем *.dll-файле. Причина: возможно, ни разу не была запущена игра (под которую делается мод) или нарушена целостность файлов игры. Возможно и такое, что в папке /bin мода отсутствуют файлы движка client.dll и server.dll; либо вообще отсутствует данная папка. Решение: соответственно, запустите и закройте нужную игру или проверьте целостность кэша этой игры (доступна в свойствах игры на закладке Локальные файлы, Интернет должен быть доступен). Если указанная папка или файлы в ней отсутствуют, создайте bin в каталоге мода и скопируйте туда недостающие *.dll-файлы из каталога <путь установки Steam>/SteamApps/<имя аккаунта>/half-life 2 episode two/episodic/bin (для Orange Box). Проблема: вся карта в игре освещена равномерно белым светом. Причина: такое происходит, если на карте нет ни одного источника света (или карта скомпилирована без обработки VVIS и VRAD). Как следствие - при загрузке такой карты автоматически выставляется mat_fullbright = 1, т.е. задаётся равномерное освещение всего пространства. Решение: очевидно, добавить на карту хотя бы один источник света (или выполнить компиляцию с запуском VVIS и VRAD, соответственно). Проблема: некоторые (предположительно неподвижные) модели почти/совсем не освещены, хотя всё остальное вокруг них освещено правильно. Пример: слева модель лампы освещена нормально, справа - модель тёмная Причина: скорее всего, плохо освещённые модели касаются границы листа видимости. Как правило, эту границу задаёт обычный браш. Решение: попробуйте чуть отодвинуть модель от обычного браша: так, чтобы его не касался bounding box модели; если необходимо, добавьте "фальшивый браш" в виде func_detail, displacement и т.п. Проблема: после очередных изменений и компиляции произошло неожиданное снижение производительности движка (частоты кадров) в игре, либо компиляция прерывается, либо при сохранении и последующем открытии карты теряются некоторые браши (выдаётся сообщение об ошибке). Причина: скорее всего Вы пользовались функцией Carve (вырезка общих участков пересекающихся брашей) редактора Hammer или добавили браши нестандартной формы (не в виде прямоугольного параллелепипеда, выровненного по сетке редактора). Решение: исправляется превращением сложного браша в энтити (обычно func_detail), а также отказом от функции Carve различными ухищрениями. Проблема: после очередных изменений обнаружилось, что один из обычных брашей имеет нулевую толщину и стал проницаемым. Причина: обычный браш с измерением в 1 единицу (вдоль любой оси) ведёт себя нестабильно и может обрести нулевую толщину (например, после использования той же Carve), потеряв непроницаемость. Решение: просто не делайте столь узких брашей. Проблема: все мониторы (func_monitor) в одно и то же время показывают изображение только с одной камеры (point_camera), независимо от раздельно подаваемых команд. Причина: это особенность движка: во всех текстурах для мониторов используется одна и та же специальная процедурная текстура _rt_Camera (также используется и на моделях с передачей изображения камеры). Когда подаётся команда установки камеры-источника, данная текстура "переключает трансляцию" изображения на неё. Естественно, все материалы, использующие данную текстуру, начинают показывать одно и то же изображение с выбранной камеры. Дополнительно, это означает, что и качество изображения нельзя улучшить средствами маппинга, т.к. оно зависит от разрешения текстуры _rt_Camera. Решение: можно добавить псевдо-трансляции в виде готовых анимированных текстур (как это сделано, в частности, на некоторых мониторах в Half-Life 2). Либо есть вариант - добавить свои процедурные текстуры (на уровне программного кода). Затем добавить новые материалы для мониторов, которые будут использовать уже новые процедурные текстуры. Если понадобится в игре переключать изображение, придётся ещё доработать функциональность энтити по части задания источника изображения. Примечание: в играх Portal и Portal 2 заведомо используются две разные процедурные текстуры, выполняющие передачу изображения. На относительно слабых системах можно заметить некоторое снижение производительности движка (торможение), если даже открыть два портала рядом друг с другом и смотреть на них. А падение производительности, когда порталы открыты напротив друг друга (появляется эффект "бесконечного отражения"), и вовсе ощутимо на большинстве систем. Отсюда вывод: реализацию мониторов с независимой передачей изображения лучше сделать обходными путями, чем добавлять существенные нагрузки в работу движка. Проблема: в конструкции из двух и более зависимых триггеров появляются лишние ("паразитные") срабатывания, которые по идее быть не должны. Причина: если Вы действительно уверены, что всё настроено правильно, то причина может быть именно в сочетании нескольких триггеров. Пример: при попадании игрока в определённую область запускается набор скриптов, с их повторением до тех пор, пока игрок находится внутри большей, по сравнению со стартовым триггером, области. Здесь скорее всего появится данный эффект, т.к. получается совместная работа не менее двух триггеров. Решение: можно отключать триггер запуска (командой Disable) сразу же при срабатывании, в числе прочих действий. А триггер проверки тестировать по TouchTest (см. Триггеры и скрипты). По окончании реакции можно вновь разрешать (Enable) работу триггера запуска. Вероятно, так же следует поступать и для остальных конструкций подобного рода Статьи (рус): Статьи (eng): http://www.interlopers.net/errors/
Номер статьи: 34
|