Как делать сцену деревни
Источник перевода - https://rusmnb.ru/index.php?action=article;topic=23486.0
Этот список должен помочь вам в создании деревенских сцен и дать вам представление о том, на что мы обращаем внимание при создании деревенских сцен.
Navigation Mesh (Навигационная сетка)
- Навигационная сетка состоит из треугольников и четырехугольников. Он используется ИИ для поиска пути. Глобальная система освещения (global illumination system) также использует его для поиска видимых мест сцены.
- Имейте в виду, что грани навигационной сетки не должны быть слишком далеко от реальной физики для него. Расстояние должно быть не более 1,5 м.
- Персонажи в деревне должны быть помечены специальными идентификаторами, которые указывают на создание точки спауна этих персонажей, и на передвижение их внутри сцены.
- Чтобы заставить персонажей (agents) перемещаться по дорогам деревни, мы маркируем их идентификатором ID 2.
- Обратите внимание, что все точки спауна (появления) должны быть заданы всем персонажам, имеющими ID 2 в этом навигационной сетке.
- Для животных нужно использовать маркировку идентификатора ID 3. Как правило, эти животные находятся в пределах отдельных островков, окруженных рвами. Тогда они будут бродить только внутри этих островков.
- Все остальные персонажи должны иметь идентификатор ID 0.
- Помните, что персонажи должны использовать идентификатор навигационной сетки ID 1, чтобы создать реалистичный путь движения на дорогах. Дизайнер, создающий сцены, должен поместить объект с деактиватором навигационной сетки (название пишется как - Navigation_Mesh_Deactivator). Его можно разместить в любом месте сцены. Его цель - отключить лица с маркировкой ID 0 в гражданских режимах. Переменная DisableFaceWithID скрипта должна быть равна 1.
- Для животных переменная “DisableFaceWithIDForAnimals” в том же скрипте должна быть равна 3.
- Убедитесь, что модели персонажей примерно равны по своим размерам и за пределами деревни, где будут маневрировать войска.
- Убедитесь, что нет отключенных (disconnected) навигационных сеток.
- Чем лучше сделана навигационная сетка, тем лучше будет работать на нем ИИ. Всегда помните о том, что в деревне может произойти крупное сражение. Поэтому старайтесь избегать наличия большого количества закрытых помещений, таких как свинофермы, только с одним входом (например: переставьте несколько заборов, чтобы создать больше входов).
- Избегайте создавать очень большие территории, доступные для игрока, но не понятные для ИИ. Ведь тогда игроки смогут безнаказанно расстреливать юнитов ИИ из-за пределов навигационной сетки.
- Используйте “_barrier_ai_x” , чтобы предотвратить падение юнитов ИИ со скал или застревание их в труднодоступных местах (например, в рыночной будке) вне навигационной сетки.
(навигационная сетка)
Spawn Points (Точки спауна)
Как уже отмечалось ранее, все точки спауна должны быть размещены поверх навигационной сетки (ID 2) и внутри мягких (soft) границ. Помните, что некоторые сборные конструкции (например, стулья и скамейки) даются с уже прикрепленными к ним точками спауна. Если точки спауна несовместимы с деревенской миссией, они, скорее всего, приведут к сбою игры или вызовут ошибки. Одним из примеров является “sp_blacksmith_with_smithing_machine”. Самое главное в точках спауна - это их метки (tags). Они решают, какой тип NPC будет там появляться. Ради вашего же блага, не играйте с этими тегами слишком много и оставляйте их такими, какие они есть уже в сборных конструкциях.
Entry Points (Точки входа)
Player Spawnpoint (Точка спауна игрока):
- Префаб: sp_player.
- Убедитесь, что она расположен в таком месте, откуда ее можно увидеть или, по крайней мере, есть четкий путь, ведущий к ней. Не ставьте ее слишком далеко.
- Под точкой спауна должна находится навигационная сетка.
Battle Spawnpoints (Точки спауна в бою):
- Префаб: sp_battle_set.
- Убедитесь, что точки спауна атакующих и защитников не слишком близко расположены друг к другу или, по крайней мере, не в пределах прямой видимости.
- Убедитесь, что точка спауна подкреплений убрана из поля зрения врага насколько это возможно, но при этом не слишком далеко от линии фронта.
- Убедитесь, что вокруг всех точек спауна есть свободное пространство для правильного появления войск.
Conversation Spawnpoints (civilian) (Точки спауна для беседующих гражданских персонажей):
- Префаб: sp_player_conversation.
- Эти точки спауна определяют, где игрок и его собеседник появляются, когда вы попадаете в деревню через кнопку “Talk to Notable” ("Поговорить со старостой") с карты мира.
- Убедитесь, что с них открывается красивый вид, но делайте их относительно близко к центру деревни.
Animation Points (civilian) (Анимационные точки для гражданских персонажей):
- Префаб: sp_npc_x.
- Они используются обычными сельскими жителями. Вы можете использовать до 40 позиций.Они определяют точки спауна в сценах, где жители деревни будут появляться и ходить.
- Убедитесь, что они удобно расположены по всей деревне и в окрестностях.
- Сначала сельчане будут думать, каким путем идти.
- Если тропинки слишком длинные, вы можете обнаружить, что ваши жители все время думают куда им идти, а на самом деле никто ничего не делает. Старайтесь избегать больших расстояний и ставьте точки спауна рядом с основными путями.
- Размещение большего или меньшего количества точек спауна не влияет на то, сколько жителей будет населять эту сцену.
Rural Noteable Spawnpoints (Точки спауна старост):
- Префаб: sp_notable_x.
- Количество таких точек должно быть около 6.
- Это точки спауна для старост (дающих задания) и лордов.
- Убедитесь, что они находятся в деревне на видном месте и, как правило, в местах, где будут болтаться старосты/лорды.
- Вы можете проверить это в Debug Window (окно отладки) (это будет в документации), чтобы убедиться, что вы правильно разместили эти точки.
- Перейдите на вкладку “Scene Entity Check Tab” (“Проверка объектов сцены”), поставьте галочку в поле “NPCs” и посмотрите.
Bandit Camps (Лагеря бандитов):
- Префаб: common_area_x.
- Каждая деревенская сцена имеет 3 бандитских лагеря за пределами деревни, используемых для сюжетных квестов.
- Используйте те же точки спауна, что и для обычных жителей деревни (~15 на лагерь). Постарайтесь, чтобы они не занимались такими делами, как сельское хозяйство.
- Вы также можете использовать точки спауна патрулей: sp_guard_patrol_simple, sp_guard_patrol.
- Все точки спауна в этом радиусе будут порождать бандитов вместо жителей деревни.
- Вы можете увеличить радиус, масштабируя префаб общей области.
- Используйте ранее рассмотренные Animation Points в качестве точек спауна бандитов, например: sp_npc_wait_wall, lookout, sp_npc_argue_set, sp_npc_wait.
- Убедитесь, что есть какое-то подсказки на то, где лагеря могут быть, чтобы у игрока был шанс найти их (особенно ночью).
- Не ставьте их слишком близко друг к другу.
Animal Spawnpoints (Точки спауна животных):
- Префаб: sp_animalName.
- Используйте“DisableWandering” (“Отключить блуждание”) в скрипте AnimalSpawnSettings, чтобы животные не ходили по вашей сцене.
- В целом лучше поставить его для всех больших животных, таких как коровы и свиньи.
Tactical Region (Тактические регионы)
- Префаб: TacticalRegion.
- Используется, чтобы сообщить ИИ, где находятся более крупные регионы (леса, холмы и т.д.).
- ИИ будет позиционировать себя внутри этого радиуса или избегать его.
- Не злоупотребляйте им, придерживайтесь ~5 (убедитесь, что есть некоторое разнообразие).
Tactical Positions (Тактические позиции)
- Префаб: TacticalPosition.
- Используется, чтобы сообщить ИИ, где есть соответствующие более мелкие позиции (например, узкие проходы между зданиями, скалы для лучников и так далее).
- ИИ будет планировать свое поведение в соответствии с поворотом префаба и шириной, заданной сценарием.
- Вы можете использовать их довольно часто.
- Чем больше уклон, тем “лучше” положение.
(Тактические позиции)
Flee Positions (Позиции для отступления):
- Позиции, к которым будут отступать бегущие войска, а также кони без всадников.
- Убедитесь, что они находятся внутри Soft Border (мягкой границы) и что под ними есть navmesh (навигационная сетка).
(Позиции для отступления)
Debug Window (Окно отладки):
- Префаб: SpawnPointDebugView.
- Существует встроенный инструмент отладки, который можно включить, добавив вышеупомянутый префаб к сцене. Поместите префаб в любом месте сцены и активируйте окно с помощью флажка в его скрипте.
- Этот префаб открывает небольшое окно отладки в редакторе, которое помогает вам убедиться, что вы соответствуете требованиям для миссии (например, точки спауна, navmesh).
- На вкладке “Scene Entity Check Tab” (“Проверка объекта сцены”) вы можете подсчитать свои Entry Points (точки входа) и убедиться, что вы разместили достаточное их количество (или же слишком много).
- На вкладке “Navigation Mesh Check Tab” (“Проверка навигационной сетки”) вы можете убедиться, что все ваши точки входа правильно подключены к навигационной сетке.
(Окно отладки)
Soft Border (Мягкая Граница):
- Префаб: border_soft.
- Они определяют красные границы сцены.
- При размещении они образуют многоугольник, где 2 ребра соединяются между ближайшими двумя пограничными объектами (но никогда не более двух).
- Чтобы проверить текущие границы, перейдите в “Visibility Window” (“окно видимости”) → “Visibility Masks” (“маски видимости”) и включите “Borders” (“границы”).
- После их пересечения у игрока есть несколько секунд, чтобы вернуться обратно в границы карты. Этим нельзя злоупотреблять.
(Границы)
Sounds (Звуки):
Master Ambient Sound (Основные звуки окружающей среды):
- Префаб: x_ambient_sound.
- Обязательно выберите основной звуковой фон (master ambient sound).
- Вы можете разместить его префаб в любом месте.
- Убедитесь, что у него включен параметр “Is Master Sound”.
- Убедитесь, что на нем не включен параметр “Is Triggered”.
Additional Ambient sounds (Дополнительные звуки окружающей среды):
- Применяется для больших площадей (например, лесов).
- Должен быть включен параметр “Is Triggered”.
- Чтобы увидеть, как далеко эти звуки распространяются, в окне “Visibility Window” (“видимость”) включите “Sound Entities” (“звуковые объекты”) в группе “Visibility Masks” (“маски видимости“).
- Чтобы изменить территорию их охвата, вы можете масштабировать их, как и другие объекты редактора (используя клавишу “b” или gizmo (???)).
(Звуки)
Reverb (Реверберация):
Реверберация — это процесс постепенного уменьшения интенсивности звука при его многократных отражениях. Иногда под реверберацией понимается имитация данного эффекта с помощью ревербераторов. К реверберации примыкает явление акустического флаттера, или порхающего эха.
- Для каждого варианта использования существует разный префаб: reverb_x.
- Добавляет эффект реверберации к любому звуку, порожденному внутри его границы.
- Обычно они используются для тесных или подземных участков местности.
- Вы можете разместить их в узких переулках между высокими зданиями, скалами, в пещерах или в густых лесах.
- Должен быть включен параметр “Is Triggered”.
Detail (Деталь):
- Используется для мелких деталей.
- Убедитесь, что параметр “Is Triggered” отключен.
- Поместите их префаб туда, где вы хотите, чтобы они играли.
Moving sounds on paths (for rivers and such): Звуки движения на дорогах (для рек и тому подобного)
Иногда полезно перемещать звуки вдоль всей береговой линии или на самой реке. Приведенная ниже техника более удобна для работы и более точна, чем, например, размещение нескольких звуковых объектов вдоль вашей реки.
- Проложите траекторию движения прямо по реке. Дополнительные сведения см. В разделе Path Editing (Редактирование пути).
- Добавьте звук в сцену.
- Разместите любой дополнительный звук окружающей среды, как описано выше.
- Добавьте скрипт path_converger в объект вашего звука окружающей среды.
- Введите имя вашего пути к “path_converger”.
- Теперь звук будет следовать по траектории движения в соответствии с положением камеры.
Sounds in the Engine (Звуки в движке):
Вы можете проверить файл "MODDING_TOOLS_DIRECTORY/Sounds/GUIDs.txt" для просмотра списка звуков в игре. Эти имена могут быть использованы в скрипте звуковых объектов.
Lights (Огни):
- Используйте хотя бы один envmap_prop в вашей сцене.
- Для более темных областей, таких как пещеры, используйте пропсы local_envmap_prop.
- Он будет влиять на освещение в данной области в зависимости от значений его скрипта “ReflectionCapturer” (“Захват отражения”).
- Убедитесь, что деревни и бандитские лагеря хорошо освещены.
- Будьте особенно внимательны в conversation points (Точки спауна для беседующих персонажей).
- Используйте факелы и другие предметы.
- Убедитесь, что факелы внутри зданий и других темных областей имеют включенный параметр “alwaysBurn” (“всегда гореть”) в скрипте LightCycle (Световой Цикл).
- Старайтесь избегать размещения “artificial lights” (“искусственного освещения”) без модели фактического источника.
- Вы можете сделать окружающее освещение в вашей сцене с помощью системы GI. Это сделает окружающее освещение гораздо более реалистичным. Для получения дополнительной информации см. Предварительная передача освещения - система GI.
(Свет)
Atmosphere (Атмосфера)
- Убедитесь, что ваша сцена работает и хорошо смотрится со всеми атмосферами TOD_x и во все времена года! (поскольку она будет протестирована с ними).
- Выберите “Color Grade” (“класс цвета”), который подходит для вашей сцены (мы предлагаем использовать те, для которых предназначена ваша сцена, например: “color_grade_empire_soft”).
(Атмосфера)
Комментариев 0
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.