После завершения публикации цикла статей по редактору к игре Far Cry, к нам пришло немало вопросов, касающихся тонкостей редактирования. После нескольких ночей, проведенных в нашем игровом вивисектарии, мы выделили самые часто встречающиеся вопросы, уложили их на препаровальный столик, поострее наточили скальпели и ампутационные ножи... В общем, ни одна возникшая у вас проблема не ушла... Все настигли, скрутили и разобрались, как полагается. Вопрос [В]: При создании нового уровня я не могу поднять из-под воды земную поверхность, хотя вроде бы все делаю правильно. В чем дело? Ответ [О]: В отличие от водных просторов в игре, простирающихся в бесконечность, участок суши, задаваемый вами при создании карты, имеет ограниченные размеры. Скорее всего, вы просто пытаетесь создать сушу за пределами отведенного участка, сильно удалившись от центра карты. Включите в одном из окон обзора вид Map и переместите точку обзора в пределы участка суши. [В]: Я нанес на карту деревья, но, когда камера обзора удаляется от них на некоторое расстояние, вместо нормальных деревьев можно видеть лишь какие-то белые квадраты. Как придать им нормальный вид? [О]: Чтобы растительность стала отображаться нормально, необходимо заново сгенерировать текстуру ландшафта. Просто выберите пункт меню File\Generate Surface Texture и подождите окончания генерации. [В]: Почему, когда я приближаю камеру обзора близко к земной поверхности или смотрю на нее с близкого расстояния в игре, она окрашивается в красный цвет? [О]: Все текстурные слои в Far Cry, которые вы наносите на ландшафт, требуют наличия текстуры детализации, которая видна только с близкого расстояния. Когда же требуемые текстуры отсутствуют, редактор заменяет их на красную текстуру, сигнализируя об ошибке. [В]: Я пытаюсь поместить на карту какой-нибудь объект, но вижу только его метку где-то вдалеке. Как этого избежать? [О]: Чтобы объект помещался в нужную точку на карте, всегда включайте кнопку Follow Terrain на панели инструментов. Иначе объект рискует потеряться где-нибудь в бесконечности игровых координат. [В]: Я расположил вокруг зданий точки маршрутов для AI, но персонажи не могут ими воспользоваться. [О]: При создании маршрутной сетки нужно соблюсти некоторые условия. Например, между точками входа и выхода (Entry и Exit Point) обязательно должна находиться хотя бы одна точка маршрута. Если персонаж не может заранее проложить путь от входа до выхода с сетки маршрутов, он никогда не пойдет по ней. Также не устанавливайте точки укрытий (Hide Point) вместо стандартных точек маршрута (невозможно заставить персонажей прятаться на всей маршрутной сетке). Если сеть вейпойнтов служит переходом через границу запрещенной зоны (Forbidden Area), то сеть маршрутов должна быть окружена зоной AINavigationModifier, и точки входа и выхода сети маршрутов должны находиться по разные стороны от границы запрещенной зоны (рис. 1). Рис. 1. Пример маршрутной сетки, проводящей AI в запрещенную зону и обратно. [В]: Я создал триггер, который должен сработать при смерти персонажа, но, когда персонаж умирает, ничего не происходит. [О]: Возможно, вы соединили триггер с событием персонажа On Die. Это событие является "входящим”, оно может только принять сигнал от другого триггера и убить персонаж. Вам же нужно событие On Death, использующееся для отправки сигнала при смерти персонажа. [В]: Можно ли протестировать работу триггеров, не выходя из редактора и не переключаясь в нем в игровой режим? [О]: Да. Сначала нужно включить кнопку AI/Physics в нижней части редактора, прямо под окнами обзора. Чтобы активировать триггер, необходимо послать ему активирующий его сигнал. Для этого выделите объект, к которому прикреплен триггер, выделите активирующее событие из списка Input/Output Events и нажмите кнопку Send под списком (рис. 2). Рис. 2. Выделяем нужное событие, щелкаем кнопку "Send”, и MercCover3 валится замертво, так и не дождавшись запуска игры. [В]: Мне надоел стандартный экран при загрузке уровня! Как мне сделать собственный? [О]: Для этого в скрипте уровня, внутри функции Mission:OnInit, вам нужно вписать следующую строку: System:SetConsoleImage("имя файла”, 0) Вместо "имя файла” впишите имя картинки-загрузчика. Сама картинка должна иметь размер 1024*1024 точки, формат файла *.dds и находиться в папке вашего уровня. Возможно, вам придется поискать соответствующие конвертеры для ACDSee или PhotoShop, чтобы иметь возможность редактировать файлы такого формата. Конвертер для PhotoShop вы можете найти по адресу developer.nvidia.com/object/nv_texture_tools.html. [В]: Можно ли создать сразу несколько меток заданий на радаре? [О]: Нет, игра поддерживает только одиночные метки. [В]: Когда я запускаю созданный уровень в игре, некоторые объекты теряются, а другие работают неправильно. Как это исправить? [О]: Хотя вы можете загрузить карту в игре, просто сохранив ее файл в соответствующей папке, некоторые вещи требуют "подключения” к движку игры. Поэтому, сохранив уровень, не забывайте экспортировать его в игру с помощью пункта меню File\Export to Engine. [В]: При запуске уровня в игре и при перезапуске его в игровом режиме редактора после гибели персонажа я оказываюсь не в точке старта, которую установил, а где-то на окраине уровня, в океане. Почему это происходит? [О]: Возможно, вы создали на вашем уровне сразу две "миссии”, создав два разных скрипта (или забыв удалить старый скрипт при создании нового). При этом, скорее всего, вы создавали уровень только для одной из миссий, а вторая осталась пустой (даже без точки старта). Игра же при загрузке уровня ошибочно пытается запустить пустую миссию и, не найдя в ней даже точки старта, выбрасывает игрока в начало координат уровня. Удалите лишний скрипт с уровня, и все будет в порядке. Автор: Андрей Желтяк |