четверг, 18 июля 2019 г.

Руководство HORROR FPS KIT. Ссылки

  • ThunderWire Studio - Youtube Channel
  • ThunderWire Studio - Developer Website 
  • ThunderWire Studio - AssetStore 
  • Horror FPS KIT - Website 
  • Horror FPS KIT - AssetStore

Руководство HORROR FPS KIT. Сообщения об Ошибках

Руководство HORROR FPS KIT. Плавающие Объекты

  • Функция Floating Object позволяет лучше находить скрытые объекты или отмечать интерактивные объекты. 

ДОБАВЛЕНИЕ НОВЫХ ПЛАВАЮЩИХ ОБЪЕКТОВ

  1.  Выберите опцию Add FloatingIcons из меню.
  •  Это автоматически добавит все выбранные объекты в список  Floating Icons.



Руководство HORROR FPS KIT. Менеджер Исследования

ДОБАВЛЕНИЕ ОБЪЕКТОВ ИССЛЕДОВАНИЯ

  1. Установите слой объекта на слой Interact (также можно установить тег объекта на Interact).
  2. Добавьте скрипт InteractiveItem.cs и установите для параметра Item Type значение Only Examine.
    • С Only Examine вы можете исследовать только объекты, но вы можете установить Examine Type на другие Item Types.
    • Есливы установите Examine Type в Advanced Object, вы получите больше параметров проверки. 
    • Этот скрипт также позволяет установить Examine Type на тип Paper (Бумага).
    • Также есть функция для установки направления Examine Rotate(Вращения).
    • С помощью функции Face To Camera вы можете установить начальный поворот объекта.

суббота, 13 июля 2019 г.

Руководство HORROR FPS KIT. Зона Окружения

  • Позволит изменить в игре Ambience Sound, когда вы входите в определенную комнату.
  1. Создайте два объекта Trigger.


  2.  Добавьте скрипт AmbienceZone.cs к этим объектам.


    • Назначьте Ambience Source, audio source из объекта Player.
    • Для первого объекта задайте окружение default(по умолчанию), а для второго - окружение room(комнаты).

Руководство HORROR FPS KIT. Прыжок Испуга

МАЛЕНЬКИЙ ПРЫЖОК ИСПУГА

  1. Создайте объект Trigger.


  2. Создайте пустой GameObject и переместите в него существо.


  3. Создайте Jumpscare Animation и добавьте скрипт TriggerAnimation.cs.
    • Также можно добавить скрипт TriggerHint.cs, если вы хотите показать подсказку при воспроизведении анимации jumpscare.

JUMPSCARE С ЭФФЕКТОМ

  • Вы можете создать его теми же шагами, что и Small Jumpscare, но вместо добавления скрипта TriggerAnimation.cs добавьте скрипт Jumpscare.cs.


  • Вы можете установить, как долго игрок будет напуган, установив Scare Level Sec в секундах (Scared Breathing(Испуганное Дыхание)).
  • Скрипт Jumpscare связан со скриптом JumpscareEffects.cs в объекте MouseLook.
  • Jumpscare управляет Эффектами  Camera Shake(Дрожание Камеры), Scared Breath(Испуганное Дыхание) и Scare(Испуг).


  • Если у вас есть проблемы с созданием анимации Jumpscare, вы можете перейти на мой канал Youtube и посмотреть мой Jump.


Руководство HORROR FPS KIT. Поведение AI Зомби


  • Если вы хотите добавить новые анимации, просто создайте новый Animator Override Controller и назначьте свои собственные анимации.

ДОБАВЛЕНИЕ НОВОГО ЗОМБИ

  1. Преобразуйте своего Zombie Character в Ragdoll (GameObject -> 3D Object -> Ragdoll).
  2. Добавьте необходимые сценарии Zombie Character.

  3. Установите зомби Tag на Flesh и Layer на Zombie.

  4. Зомби hips Layer установите на BodyPart.

  5. В скрипте ZombieBehavior назначьте Animator зомби и установите masks.

    • Для примера, посмотрите на префаб Derrick.
  6. Назначьте Hips в скрипте NPCHealth и установите очки Health(Здоровья) зомби.

  7. Создайте пустой GameObject и добавьте скрипт WaypointGroup.cs.
  8. Добавляя пустые GameObjects к объекту, где находится скрипт WaypointGroup, вы автоматически определяете новые waypoints.

  9. Внутри секции Sensors назначьте waypoints и положение NPC Head.

    • Скрипт ZombieBehaviour содержит множество настроек, с которыми вы можете по-экспериментировать.
    • Ползунок Intelligence(Разведка) определяет основные настройки разведки зомби как есть (состояние притяжения, переход в состояние точки патрулирования, состояние просмотра, состояние обнаружения звука).
      • Intelligence 1 = зомби могут быть привлечены и могут отправиться в патрульную точку.
      • Intelligence 2 = зомби повернет в направлении, в котором вы стреляете, зомби слышит упавшие предметы.
    • Patrol Point(Патрульная Точка)  - это точка, куда направляется зомби, если расстояние между последней увиденной позицией и позицией патрульной точки будет в диапазоне расстояния Patrol Point Detect.

ВЛИЯНИЕ ЗВУКА НА ПРИВЛЕЧЕНИЕ ЗОМБИ

  1.  Добавьте скрипт ImpactEffect.cs к draggable(перетаскиваемому) объекту.

    • Если Impact Volume больше, чем расстояние Impact Detect At, удар привлечет зомби.

Руководство HORROR FPS KIT. ДОБАВЛЕНИЕ НОВОГО ОРУЖИЯ ИЛИ ПРЕДМЕТОВ

  1. Найдите объект WallDetection в объекте Player, который содержит все объекты Оружия/Предметов.


  2. Дублируйте один из этих предметов и замените отключенный объект внутри дублированного объекта своим собственным оружием или предметом.
  3. Пометьте свои анимации как legacy и добавьте их к корневому объекту вашего Оружия/Предмета.


  4. Добавьте ваше новое Оружие/Предмет в Item List вкладки ItemSwitcher.


    • Пользовательский скрипт Weapon/Item требует интерфейса ISwitcher.


    • Кроме того, если вам нужны дополнительные функции, при ударе о стену вы можете добавить интерфейс ISwitcherWallHit
    • Эти интерфейсы будут автоматически создавать необходимые функции, которые будут управляться скриптом ItemSwitcher.
  5. Не забудьте добавить свой предмет в Inventory Database и установить Use Switcher ID.


Руководство HORROR FPS KIT. GRAPHIC SETTINGS

  1. Отредактируйте или создайте новый ассет Graphic Settings.


  2.  Добавьте новые или отредактируйте текущие Graphic Settings в папке Scriptables.


  3. Назначьте GraphicSettings скрипт UICustomOptions, расположенному в объекте GAMEMANAGER.


  • Измененные графические настройки во время выполнения будут сохранены в файле config.

Руководство HORROR FPS KIT. Менеджер SAVE/LOAD

  • Сохранение и Загрузка данных игры является основной функцией во многих играх AAA, с SaveGameHandler.cs вы можете сохранять свои данные игры. 

НАСТРОЙКА МЕНЕДЖЕРА SAVE/LOAD

  1.  Создайте новый SaveLoadSettings.


    • Появится окно Save/Load Editor.


    • В этом окне можно установить основные настройки сохранения.


    • Cipher Key(Ключ Шифрования), по соображениям безопасности, зашифрован.
  2. Новый созданный ресурс настроек, который вам нужно определить в скрипте SaveGameHandler, расположенном в объекте GAMEMANAGER.


ДОБАВЛЕНИЕ НАСТРАИВАЕМЫХ СОХРАНЕНИЙ

  1. Добавьте интерфейс ISaveable в ваш собственный скрипт.


  2. Исправьте ошибки, вызванные интерфейсом (VS 17: ALT + ENTER или CTRL +.).


    • Это создаст две новые функции OnLoad и OnSave.
    • Эти функции являются основными функциями для сохранения и загрузки пользовательских данных.
  3. Определите, какие данные вы хотите сохранить.


    • Ключ Token должен совпадать с ключом, с которым вы сохраняете данные. 

СОХРАНЕНИЕ С ИСПОЛЬЗОВАНИЕМ АТРИБУТА

  • Этот метод позволяет вам просто сохранять данные скрипта, используя только атрибут.
  • Поле должно быть всегда public, иначе менеджер его не найдет.
  1. Добавьте скрипт SaveObject.cs к объекту.
    • Ключ Token должен совпадать с ключом, с которым вы сохраняете данные. 
  1. Добавьте атрибут SaveableField в поле, которое вы хотите сохранить.


    • Вы также можете установить поле custom key.


 СОХРАНЕНИЕ ДАННЫХ GAMEOBJECT

  • С помощью этого метода вы можете сохранить основные данные GameObject.
  •  Transform, Rigidbody, Position, Rotation и Object/Renderer Active.
  1. Добавьте скрипт SaveObject.cs к объекту.


    • В этом скрипте вы можете указать, какие данные из GameObject вы хотите сохранить.

СОХРАНЕНИЕ ДАННЫХ ИГРЫ

  1. Выберите Менеджер Saveables из меню Tools.


    • Появится окно редактора Saveables.
    • Редактор не будет отображаться, когда скрипт SaveGameHandler не будет найден. 


  2. Нажмите кнопку Find Saveables, редактор автоматически найдет все сохраняемые объекты сцены.


    • Если редактор найдет какие-либо сохраняемые объекты, сообщение изменится на “SaveGame Handler is set up successfully!”.
    • Скрипт SaveGameHandler также покажет, сколько объектов будет сохранено.
    •  Если вы удалите сохраняемый объект, вам будет предложено снова найти сохраняемые объекты.


  3. Выберите Save Game из меню Pause.


    • Значок дискеты указывает, что игра сохранена правильно.


  4. Затем вы сможете Загрузить(Load) сохраненную игру из Главного Меню(Main Menu).


    • Также вы можете удалить сохраненную игру, если она вам не нужна

Руководство HORROR FPS KIT. Инвентарь

  •  Вы можете отобразить меню Inventory, нажав кнопку TAB, также вы можете изменить эту кнопку непосредственно в Input Mapper или в Pause или Main Menu.

ДОБАВЛЕНИЕ НОВЫХ ПУНКТОВ

  1. Создайте новый  ассет Inventory Database.


  2. Это создаст новую Inventory Database(Базу Данных) инвентаря в папке Scriptables.


    • Внутри этого скриптового ассета вы можете определить новые Inventory Items(Элементы Инвентаря).

  3. Присвойте новой Inventory Database скрипт Inventory, расположенному в объекте GAMEMANAGER.


  4. Добавьте сценарий InteractiveItem.cs к объекту элемента и установите для параметра Item Type значение Inventory Item.


  5. Установите Inevntory ID для определенного номера вашего предмета, который определен в Inevntory Database.
    • Идентификатор элемента Inventory Database доступен только для чтения и определяется автоматически сценарием базы данных.
    •  Если вы измените порядок какого-либо элемента, он автоматически сбросит все идентификаторы элементов с текущим порядком элементов.


РАСШИРЕНИЕ ИНВЕНТАРНЫХ СЛОТОВ 

  • Вы можете расширить слоты инвентаря, подбирая объект, для которого для Item Type установлен Backpack Expand.


INVENTORY CONTAINERS(ИНВЕНТАРНЫЕ КОНТЕЙНЕРЫ)

  •  С помощью этого метода вы можете хранить предметы инвентаря на объекте Backpack(Рюкзак).
  •  Основным скриптом для этого метода является InventoryContainer.cs.

     

  • Также, если вы хотите получить доступ к хранимым элементам везде, где есть конкретный объект, вы можете сделать это, добавив скрипт InventoryFixedContainer.cs к объектам.

КОМБИНАЦИИ ПРЕДМЕТОВ

  • Инвентарь имеет функцию объединения двух разных предметов с целью получения другого полезного предмета.
  • Это можно сделать, изменив Combine Settings предмета, внутри базы Inventory Database.



  • Пример Inventory Database со всеми свойствами включен в ассет.