Как делать сцену деревни
Источник перевода - 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
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.