Дополнительные советы по частицам

Использование фонов

Это хорошая идея – загрузить фон, когда вы делаете частицы, так что вы сможете подобрать хорошую идею о том, как эти частицы будут выглядеть в игре. Чтобы сделать это, выберите вкладку Layout на левой панели и выберите меню Open from the File. Вы можете сделать свои собственные фоны или использовать один из стандартных из папки Media.

Попробуйте открыть: media\ParticleBackgroundCatacombs.layout

Вы также хотите увидеть, какое освещение будет в игре. Для этого перейдите на вкладку Options в правой панели и установите Use Rule Set на true. Затем, установите свойство Rules Set на «catacomb\burialchambers_rules.template» или любой другой catacomb Rules Set. В конце, установите Lantern Light на True. Вы также можете регулировать свойство Lantern Light кликая на кнопку с лампочкой сверху в средней части окна.

Вы можете установить Play Environment на True, чтобы отобразить погодные частицы и время дневного освещения в природных Rules Sets.

Если вы все настроили, то можете переключиться назад на вкладку Particle Creator в левой части экрана и сделать свои частицы, чтобы посмотреть, как они будут выглядеть на уровне.

 

Типы визуализации

Многие частицы это текстуры на квадратах или прямоугольных мешах. Эти прямоугольники связаны с billboard’ами. Свойство Render Type в системе частиц контролирует, как billboard’ы выравниваются относительно камеры. Здесь наиболее используемые типы:

Billboard
— Самая распространенная установка. Частицы с этим параметром всегда направлены в камеру.

Billboard Forward
— Частицы устанавливают направление и не влияют на камеру. Используется, если вы хотите установить место частицы с конкретной ориентацией.

Billboard Forward Camera
— Частицы всегда стоят прямо, но в основном перед камерой. Хорошее применение для порталов и лучей света, которые должны появится в определенном месте.

Billboard Perpendicular Self
— Частицы всегда направлены туда, куда движутся, если выровнять их по Z координате.

Billboard Self
— Billboard выравнивает частицы по Y вместе с тем, как они движутся. Хорошее использование для частиц, которые движутся вытягиваясь.

Billboard Up
— Billboard параллельный земной поверхности. Используется для освежения и для частиц, которые должны появится сразу на земле. Например – ожоги от взрывов.

Billboard Up Camera
— Тот же Billboard Up, но он вращается вместе с камерой.

Entity
— Используется для мешей.

EntityWorld
— Также используется для мешей, но позволяет им вращаться.

RibbonTrail
— Только для длинных, ленточно-образных частиц.

Рождение частиц на земле

Чтобы сделать частицы, которые всегда появляются на земле, используйте свойство Spawn on Ground в Emitter. Это работает только тогда, когда Keep Local установлено на False.

Вы можете устанавливать высоту родившихся частиц с помощью свойства Ground Offset. Если вы установите Must Spawn on Ground на True, то частицы не будут рождаться выше уровня земли.

Параметры качества

Система частиц имеет свойство Quality, которое контролирует качество частиц в зависимости от игровых настроек.

Если Quality в частице установлено на low, то они будут всегда видны. Если установлено на Medium, то их увидят те игроки, которые имеют настройки в игре Medium или High, но не те, у которых установлено Low.

Вы можете это использовать для частиц, которые классно выглядят, но не для тех, которые повлияют на производительность.

Свет и тени

Частицы могут использоваться для создания света и тени. Всего лишь установите свойство Is Light на true в системе частиц. Установите свойство Type либо Light (свет), либо Shadow (тень).

Свет и тень могут быть светлыми или темными.

Свет всегда имеет проекцию сверху вниз и освещает все поверхности над и под ними. Тени не отбрасываются на некоторых поверхностях, иногда из-за строения уровня. Как правило, это используется для света, даже если частица будет темной в темной области.

Также установите свойство Lantern Light на True в панели options, иначе вы не сможете увидеть свет. Вы можете управлять этим легче – нажимая на кнопку с лампочкой в средней части окна редактора сверху.

Сортировка последовательности

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

Когда вы сделаете завершенную систему частиц, установите низкое значение sort index для частиц, которые должны быть фоном или высокое значение, для частиц на переднем плане.

Частицы, которые рождают частицы

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

Flipbooks

Текстуры частиц могут содержать множество картинок. Они могут быть цикличными для создания анимации, или случайными, для выбора случайных изображений.

Если вы используете текстуру подобной той, которая выше, то установите свойство Frames High и Frames Wide в системе частиц. Для данной текстуры, это значение должно быть установлено на 4.

Вам также нужно добавить Texture Animation affector. С помощью этого аффектора вы можете устанавливать скорость анимации и устанавливать случайный, начальный кадр для частиц.

Частицы на монстрах

Частицы прикрепляются к монстрам или к окружающим декорациям, или к части анимации навыка. В этом уроке мы будем использовать анимированную систему для прикрепления существующих частиц на монстра. Мы не будем фокусироваться на создании хорошо выглядящего эффекта, а сосредоточимся на создании базового механизма, чтобы вы могли его использовать в своих проектах.

1. Прикрепление частиц к анимации монстров

Для начала нам нужен монстр, к которому надо прикрепить частицы. В левой панели редактора выберите снизу вкладку layout и кликните правой кнопкой мыши в белом окне. Выберите Units->Monster для создания нового монстра.
Я, к примеру, буду использовать монстра Ezrohir Elite. Выберите нового монстра и посмотрите в свойство Monster в правой панели. Выберите Ezro_Elite из выпадающего списка.
Вы должны увидеть нечто подобное:

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

2. Прикрепление частиц

Частицы, добавленные в редакторе анимации, будут проигрываться, как только появится монстр. Это место для добавления других окружающих или декоративных частиц, которые будут на монстре все время.
Давайте сейчас попробуем. Кликните правой кнопкой мыши на Bind animation и выберите Add New Trigger. Кликните на новый триггер (это новая зеленая точка), чтобы выбрать его. В правой панели установите свойство Name на SpawnParticle_Stop_On_Death. Это означает, что частица родится и умрет, когда монстр погибнет.
Свойство Layout File это то, где мы выберем систему частиц, которую захотим прикрепить. Выделите поле и кликните на троеточие (…), а затем, выберите частицы. Я взял: media\particles\objects\poison_smoke.layout
Кликните на кнопку сохранить в верхнем левом углу окна анимации, и переключитесь обратно в главное окно. Монстр должен иметь частицы, которые вы выбрали для прикрепления.

Если вы хотите расположить частицы в определенном месте на монстре, то вы можете использовать свойство Bone, чтобы выбрать определенную кость, а затем использовать свойство Local Offset для перемещения частиц относительно кости. Запомните, сохраняйте анимацию, чтобы увидеть эффект после нескольких ваших изменений. Также local offset использует независимое от костей расположение, так что вам придется поэкспериментировать, чтобы выяснить, какие числа нужно менять.

3. Другие анимации

Вы также можете прикрепить частицы к другим анимациям, и они будут проигрываться тогда, когда анимация достигнет этой точки на временной шкале.
Для примера, посмотрите анимацию Special_BellRing_Start (также в Ezro Elite) и кликните зеленый круг справа. Если вы находитесь в главном окне редактора, вы можете видеть проигрываемую анимацию звона колокола вместе с частицами. Они добавляются также как и привязанные частицы.
Любые частицы, которые вы прикрепили к анимации, должны быть не только привязаны, но и проигрываться определенное время. Если вы прикрепили частицы на бесконечное время, то они будут накладываться каждый раз при старте анимации и вы будете видеть огромный, уродливый беспорядок. Так что не делайте этого. 🙂

4. Использование Unit Themes с анимациями

Анимации распределяются между монстрами, которые имеют одинаковые меши, но иногда вы хотите, чтобы у них были разные частицы. Например, у вас есть ледяной скелет и огненный скелет и они используют одинаковые меши с разными текстурами. Вы хотите, чтобы на ледяном скелете были ледяные частицы, а на огненном – огненные. Чтобы сделать это, вы должны использовать Unit Themes.
Вы можете использовать unit theme editor для добавления новых Unit Themes, он расположен под меню Data Editors в главном окне. Просто добавьте одну с именем, которое вы хотите, пропустите окно properties и сохраните. Затем вам нужно перезапустить редактор. Потом вы сможете редактировать файлы монстров и добавить unit theme. Таким образом, огненный скелет будет иметь вашу новую группу «awesome_fire_skeleton».
Как только вы ее создали, вы можете выбрать unit theme в триггере, в animation editor, и только эти монстры с данной группой будут использовать триггер. Таким образом, года вы добавите и привяжете огненные частицы к скелету, вы должны установить свойство Unit Theme в триггере на новую группу, которую вы сделали.

Вы также можете прикрепить частицы непосредственно к unit theme. Это может понадобиться, если вы делаете навык, который может применить unit themes на различных монстров, но это делать гораздо проще в animation editor, так как вы можете сохранять работу и мгновенно видеть ее на монстре.

Соединение локаций

1. Обзор

В этом разделе будет рассмотрено, как соединить две разные локации в одно целое переходом, используя две локации с открытой местностью (outdoor areas),» Echo Pass» и «The Enclave» для примера. Игрок из зоны «Echo pass» переходит в «The Enclave» с помощью портала, как показано на картинке ниже.

Сначала создадим несколько объектов необходимых для работы портала на вкладке слоя в Менеджере Сцены (Scene Manager):

Player Trigger Box – щелчок правой кнопкой мыши на вкладке слоя =>Logic=>Player Box Trigger

Unit Trigger — щелчок правой кнопкой мыши на вкладке слоя =>Units=>Unit Trigger

Warper — щелчок правой кнопкой мыши на вкладке слоя =>Logic=> Warper

Layout Link Particle — щелчок правой кнопкой мыши на вкладке слоя =>Building Blocks=>Layout Link Particle

Logic Group — щелчок правой кнопкой мыши на вкладке слоя =>Logic Group

2. Настройка свойств

Свойства Player Trigger Box
Оставьте стандартные размеры его области, и затем, когда вы его поместите на свой уровень, сделайте размер области Player Trigger Box вровень с краями стен дороги, что бы предотвратить ситуацию, когда игрок может проскочить мимо, не задействовав его. Убедитесь, что свойства Enabled =True и Local Only=True включены, как на скрине ниже.

Теперь игрок, войдя в область этого триггера, будет запускать работу портала перехода в другую зону, и в том случае, если игрок не кликнул на unit trigger. Вы не должны использовать Player Trigger Box, если хотите, что бы портал работал только при клике на unit trigger. В большинстве порталов используются оба механизма, на всякий случай.

Свойства Unit Trigger
В unit trigger первое, что мы сделаем, это изменим следующие свойства:

  • Model выберем LeaveArea
  • Loop Style зададим Cycle
  • LocalOnly включим True
  • Text имя локации, куда вы телепортируетесь, в данном случае, это The Enclave. Имя отображаемое в игре при наведении на него курсора мыши.
  • Dungeon – имя подземелья, куда вы будете телепортироваться, в данном случае это EstherianCity. Это настоящее имя подземелья, а The Enclave имя этого подземелья, отображаемое на экране. Лучше, если они будут иметь одинаковые имена, но на раннем этапе это вполне допустимо. Ваши настройки должны выглядеть, как на рисунке ниже.

Свойства Warper
Все, что нужно настроить для этого элемента, это Dungeon Name. Измените его на имя подземелья, куда вы собираетесь телепортироваться, в данном случае на EstherianCity.

Свойства Layout Link Particle
Здесь вам нужно в пункте Layout File указать путь до нужных частиц эффекта, по пути MEDIA\PARTICLES\EXITWAVES.LAYOUT и изменить на 1 по всем осям Scale. В пункте Saves = False.

3. Logic Group

Пришло время, подключить все объекты в логической группе (Logic Group). Выберите её и не снимая выделения с неё, нажмите на кнопку View External Tool , как на скрине ниже.

Откроется окно редактора Logic Editor. Теперь выберите Player Box Trigger, Unit Trigger, и Warper, и просто перетащите их в его окно или щёлкните в окне редактора правой кнопкой мыши и выберите Add Nodes Selected In Layout Scene Manager для добавления выбранных элементов. Теперь нам надо добавить для них входы (Inputs) и выходы (Outputs), для их последующего соединения. Для выбранного элемента с левой стороны окна редактора будут отображаться их свойства. Добавим для Player Trigger и Unit Trigger, для них обоих на выходе (Output) вариант Triggered, а для Warper добавим Activate Warper, как показано на скрине ниже.

Теперь нам надо соединить эти элементы в одну схему. Просто соединим их входы и выходы связями, как на скрине ниже.

Вот и всё, сохраните это в отдельный файл, и загружайте в свой уровень, как Layout Link, всё будет работать. Не забудьте вставить такой же портал на другой локации, что бы можно было проходить и туда, и обратно. Вы можете скопировать созданную систему и просто изменить имя подземелья в Warper на нужное.

4. Полезные советы

  • Вы можете сделать, только один кликабельный unit trigger отображаемый на частицах эффекта портала, что бы игрок переходил в другую зону только при клике на него. Или только один player trigger box.
  • Warper выступает в качестве стартовой точки игрока при переходе. Это место где игрок появится, поэтому будет хорошей идеей, расположить его за пределами player box и unit trigger, что бы игрок случайно не кликнул на них и не отправил себя обратно туда, откуда пришёл.

Создание ссылки на слой

1. Обзор

В этом разделе, я дам вам несколько примеров того, как создать ссылку на слой (layout link), и почему мы их используем.Такие ссылки используются для многих вещей, но чаще всего их используют, как одиночное размещение объекта, могущего вмещать множество субъектов в его рамках, которые не требуют размещения их по отдельности каждого из них. В первом примере мы создадим жаровню (brazier) для наших катакомб.

Для этого нам понадобятся три компонента:

Модель жаровни (brazier) – это меш, визуальная основа того, что нам нужно.

Layout Link Particle – это система частиц эффекта огня.

Звук (Sound) – это звуковой объект с определенным радиусом звука огня.

2. Размещение компонентов

  • Откройте Палитру (Palette), View =>Room Piece Palette
  • Ниже Level Set Filter выберите Catacomb, затем выберите меш brazier_01 и двойным щелчком поставьте его на слой.

  • В выбранной части комнаты (room piece) на вкладке свойств, раскройте свойство позиции Position и убедитесь, что по осям X,Y, и Z стоит 0. Изменение их на другие значения нужны в очень редких случаях.
  • Щелчок правой кнопкой мыши на вкладке слоя Менеджера Сцены (Scene Manager)=> Building Blocks=>Layout Link Particle. Все настройки географического положения, также выставьте на 0.

  • Не снимая выделения с Layout Link Particle на вкладке свойств, в секции Resources Layout File выберите «…» и в открывшемся окне, перейдите к нужному файлу с частицами по пути MEDIA\PARTICLES\OBJECTS\ZONE1\BRAZIERFIRE.LAYOUT, что добавит на слой частицы огня для жаровни. Возможно, придётся немного подкорректировать положение огня относительно жаровни.
  • Щелчок правой кнопкой мыши на вкладке слоя Менеджера Сцены (Scene Manager)=> Sounds=>Sound. Переместите объект на позицию 0,0,0 и в его настройках укажите следующее:
  • Category – Environment
  • Sound Group – Torch
  • Environmental – True

Попробуйте поэкспериментировать с настройками радиуса (radius) и громкости (volume).

Сохраните файл. И все компоненты будут доступны по ссылке (layout link). Теперь, что бы каждый раз, когда будет нужно разместить этот набор, делаете щелчок правой кнопкой мыши на вкладке слоя Менеджера Сцены (Scene Manager)=> Building Blocks=>Layout Link и указываете сохраненный файл по пути, где вы его сохранили.

3. Разрушаемая версия Layout Link

Этот раздел покажет вам, как взять созданную ранее жаровню по ссылке (Layout Link) и сделать её разрушаемой, когда жаровня получает повреждения.

  • Вместо того, что бы создать меш (mesh) жаровни, нужно задать здесь монстра. Щелчок правой кнопкой мыши на вкладке слоя Менеджера Сцены (Scene Manager)=> Units=>Monster.
  • В свойствах монстра на их вкладке, задайте следующие настройки:
  • Invincible поставьте False
  • Monster задайте CatacombsBrazier1
  • Щелчок правой кнопкой мыши на вкладке слоя Менеджера Сцены (Scene Manager)=> Logic Group.

  • Теперь нужно добавить и подключить всё в созданной логической группе (Logic Group). Выберите её и нажмите, не снимая выделения на кнопку View External Tool.
  • Перетащите левой кнопкой мыши в открывшееся окно жаровню (Monster), звук (Sound), и огонь (Layout Link Particle).

Добавьте следующие команды на Входы (Input) и Выходы (Output) для каждого объекта:

На выходы Monster:

1. Monster Killed
2. Monster Dead On Load
3. Post Player Spawn

Входы Sound:

1. Stop
2. Play

Входы Layout Link Particle:

1. Stop Particle
2. Start Particle

 

Затем просто соединяем наши объекты, как на следующей картинке ниже.

Теперь, когда жаровня получит достаточно повреждений для разрушения, проиграется анимация смерти частиц (death particles), сопровождаемая звуком и исчезновением огня.

Использование инструмента — Кисть

1. Использование кисти

Кисть это новое добавление к редактору Guts, которое позволяет быстро размещать объекты или части комнат (room piece) на слое (layout). Если вы планируете добавить какие-нибудь декорации, вы должны узнать, как работает Кисть. Кисть не подходит одинаково хорошо для использования во всех ситуациях, но, если вы будете использовать её достаточно часто, вы научитесь чувствовать, как и где её лучше всего использовать.

2. Как это работает

Кисть помещает объекты указанные в редакторе (brush editor), поверху частей комнаты (room piece) расположенных на слое (layout). Вы можете указать, какие типы объектов обладающие собственными настройками, будут располагаться на слое (layout).

3. Редактор кистей

Прежде чем приступить к работе с этим разделом, будет хорошей идеей перейти в редактор кистей (Editor Brushes) и предметно посмотреть, как он устроен. В окне редактора кистей перечислены все детали и уникальные настройки, которые доступны, когда Кисть активна.

4. Использование существующей кисти

Мы собираемся начать, с использования какой-нибудь уже готовой к работе кисти. Есть большое количество кистей уже включённых в игру, так что. Мы начнём с одной из них.

4.1) Загрузите brush demo.layout файл прилагаемый к этому разделу.

4.2) Откройте редактор (Brush Editor) нажав клавишу (В) или кликнув на соответствующую иконку, в верхней панели и выберите JT_FOREST.

4.3) Мы начнём с расстановки на слое нескольких больших камней, так что, выберите соответствующую кисть FROCK_BOULDER.

4.4) Переместите синюю область туда, где вы хотите разместить камень, и нажмите среднюю кнопку мыши для его размещения. Если вы не довольны результатом, используйте Ctrl+Левая кнопка мыши, переместив синюю область на этот камень. Это удалит его. Вы также можете нажать кнопку V, что бы вернуться в обычный режим и выбрать другой камень. Также вы можете поворачивать выбранный объект, масштабировать его или использовать клавиши [ и ], что бы изменить внешний вид камня, пока тот выделен. Вы можете замаскировать места, где текстуры не совсем подходят друг к другу (там, где вы увидите швы текстур), но, если вы не хотите исправлять каждый брак камнем, то это нормально. Есть много других вещей, которые можно расположить сверху их.

4.5) Далее, выберите PINE_TREE и с помощью средней кнопки мыши, расставьте несколько деревьев. Они довольно большие, так что, постарайтесь не закрывать обзор игроку слишком сильно. Попробуйте расположить их в местах, где игрок не сможет ходить. Затем, выберите PINE_TREE_SMALL и расставьте их в подходящих местах.

4.6) Теперь, мы расположим несколько штампов (splats). Штампы (splats) – это плоские отпечатки на текстурах, которые перекрывают их на земле. Попробуйте использовать любую кисть, в чьём названии есть приставка F_SPLAT_. Если они перекрываются, то это приведёт к мерцанию текстуры. Если это случится, вы всегда сможете удалить или переместить их. Существует несколько вариантов на каждый отпечаток (splat), вы также можете использовать клавиши [ и ], что бы сменить их. Также, поэкспериментируйте с расположением штампов (splats) на наклонных поверхностях. Иногда это работает, иногда нет. Как правило, хорошо подходят для штампов (splats) участки вокруг больших объектов, камней или деревьев. Неплохо также, несколько земляных штампов (splats), расположить на грунте вокруг. Штампы (splats) для каменистой поверхности окрашены под неё и перекрываются постоянной, коричневой текстурой. Если вы хотите, что бы один штамп (splat) шёл поверх другого, разместите его сверху и нажмите кнопку home, и он встанет на своё место чуть выше, что будет незаметно. Штампы (splats) можно также использовать, что бы маскировать места, где текстуры не совсем подходят друг к другу (там, где вы увидите швы текстур).

4.7) К этому моменту, Кисть уже достаточно раскрыла свой потенциал. Однако всё, что мы ставили на слой кистью, ставилось в единственном числе, с частотой 1 объект в секунду. Существуют кисти такие, как PLANT_FERN и PLANT_HOSTA, где вы можете, зажав левую кнопку мыши поставить много объектов. Это потому, что здесь частота выше. PLANT_FERN имеет частоту 10 объектов в секунду, так что, нажав левую кнопку мыши на 1 секунду, вы поставите десять папоротников. Вы также можете, использовать Ctrl+Левая кнопка мыши, что бы удалять не нужные объекты.

4.8) После знакомства с этими вещами, попробуйте поэкспериментировать с другими кистями. Некоторые из них связаны с квестами, такие, как кисть GLYPH_OF_ELEMENTS, не могут ставить на слой. Однако, большинство из них предназначены для расстановки объектов. Они могут расставлять светлячков, деревья или летучих мышей, которые будут пикировать и атаковать игрока, случайные варианты островков земли, которые ставятся в болотах, кусты из которых монстры будут выпрыгивать и т.д.

5. Создание новой кисти

Иногда, вы можете обнаружить, что не существует подходящей кисти, для того, что бы расставить нужные вам объекты. В этом случае, надо создать новую кисть в их редакторе (Brush Editor). Что бы создать новую кисть, нажмите в вверху слева на зелёный плюс, либо выберите подходящую и кликните на ней правой кнопкой мыши, выбрав clone. В этом разделе, мы не будем рассматривать клонирование кистей, а создадим новую. Введите имя для новой кисти «witch_statue_1» и нажмите в вверху справа на зелёный плюс, и вы увидите, что к выбранной кисти добавился новый элемент.

Затем, установите тип элемента (element type) на части комнат ROOMPIECE. Задайте имя группы (Group Name) как Witch Props. Затем щёлкните на кнопку с многоточием и в поле значение (Value), перейдите к Forest, найдите witch_statue_01 и дважды кликните на неё. Вы должны будете увидеть, как напротив иконки witch statue появится флажок. Оставьте значение поля Emit Rate равным 1, так как, мы хотим располагать по одному объекту на слое, а не группу, как в случае с папоротниками. Поставьте значение поля Radius равным 0.3. Это позволит вам не только легко видеть синюю область, но и даст хорошую точность при установке статуй на слой. Значение поля Normal Noise Variation зададим равным 7. Это значит, что статуя будет наклоняться на 7 градусов в любом направлении при постановке на слой. Значение поля Rotation Variation зададим 360. Это значит, что статуя будет вращаться в диапазоне 360 градусов в любом направлении при постановке на слой. Значение поля Chance на 100. Значения шкал X,Y и Z оставим 0. Если вы сделаете кисть, с чем то, вроде скал, будет хорошей идеей ставить масштабирование по этим шкалам, а при постановке статуй, мы хотели бы придерживаться единых размеров. Флажки справа, оставьте также по умолчанию, так как, нам нужна привязка к слою почвы, а не к нормалям, потому, что это даст сильный наклон статуи на склонах при привязке к нормалям. На данный момент кисть полностью готова.

6. Создание новой папки

Вам может понадобиться создание папки для своего набора кистей или наоборот, отделить от уже существующих одну отдельную кисть. Просто щёлкните на значке папки с маленьким зелёным плюсом и введите нужное имя для неё. Вы можете найти созданные кисти и папки в редакторе DataEditor > EditorBrushes.