Tutorial Unity3D Third-person shooter (TPS) with Emerald AI 3.0 Melee AI Game Design Document (GDD) Compliance with 2022.3.5f1

Updating manually from the deprecated version generate errors (that I want to avoid).

Solution : beginning from nothing but the GDD.

import

  • Import ai (Emerald ai 3)
  • Import model (woman 01 with helmet – anaconda)
  • Import camera and controler (invector)

Configuration

  • Import project settings

Creation :

  • Folder “my project” on root
  • My melee combat (copy past from emerald ai)

Deletion

  • Main camera (Fly) (Position -3, 4, -20)

Creation again :

  • Invector > shooter > create shooter controller (select anaconda)

Configuration again :

  • Position (-3, 4, -20)

Insert :

  • Weapon from (not from prefab) : Hive > Shooter_Hive > ShooterFeatures > Inventory_Collectables (vCollectibleAssaultRifle with position z=-18)

The following : https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

Configure : Tag and layer

  • In Inspector : tag “grenadier” must be defined as “enemy”
  • The hero: he should be a “Player” layer and a tag “player”. (vShooterController_Woman_01_With_Helmet_04)
  • In “detection and tags” > in tag faction options > in tag options > emerald unity tag: “Enemy” and “detection layers” select “player” and “enemy”. -> Now the grenadier can detect and try to attack the player.

Now the grenadier must be aggressive toward the player.

Setting up the player ‘s Shooter Manager

In “damage layers” > “damage layer” > select enemy

How to configure the name of grenadier ?

In ui setting , display ai name choose “yes”.

In ai setting stats : ai name: “Grenadier”.

Adding Player’s Bullet Collision Detection :

  • Script in asset/ invector 3D / shooter / prefab / weapon / bullet / vDefaultBullet prefab.
  • Go to Vprojectilecontrol
  • Go to Damage Options
  • Set damage value to any Number(like 10) (Previously it was 0).

How to configure vMeleeManager Code Snippet ?

In Assets/Invector-3rdPersonController/Melee Combat/script/melee weapon/vMeleeManager.cs.

Add script

Source : https://github.com/Black-Horizon-Studios/Emerald-AI/wiki/Invector-Integration-Tutorial

How to configure vProjectileControl Code Snippet ?

In asset > invector > script > weapon > vProjectileControl.cs

Add script

How to configure vExplosive Code Snippet ?

In vExplosive script , after colliders[i].gameObject.ApplyDamage(_damage, null);

Add script

How to configure EmeraldAIPlayerDamage Code Snippet ?

Add script