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.
Unity’s main menu and go to Window > Package Manager.
How to Import:
Warning: you must choose to use Emerald AI 3 to create a AI for this tutorial (it doesn’t work for another). Whereas, you are free to choose the player you wish and the TPS you want.
I have purchased Emerald AI 3.0, the female soldier 01 anaconda, and Invector Third Person Controller (TPS) – Shooter Template.
In Project > Assets >Emerald AI > Demo > Demo Scenes > Melee Combat Example
To copy-paste inside “my project” and renamed “my Melee Combat Example”. (dissociated from other assets folders to prevent an update to erase your files)
Since you copy-paste it, you don’t need to create an AI. It’s already done.
Delete camera already existing because, you will create a new one by using Invector.
How toConfigure (Player + Camera):
Invector (menu) > Import project settings
Invector > Shooter > Create Shooter Controller
Character creation window > fbx model > select
Choose the prefab/ asset (woman_01_with_helmet) with helmet
Inside vshooterController_woman_01_with_helmet , move 3D model where you want and copy paste the coordinate inside vshooterController_woman_01_with_helmet (Position: X = 0.9 ; Y = 3.5 ; Z = 0.6) (Rotation Y = 180) from closed space to open space.
After reset position 3D model
play
You don’t need the old camera(“Main Camera (Fly) ») , you can remove it. If error, you have a backup inside the (Emerald AI > Demo > Demo Scenes > Melee Combat Example)
Optional: ( How toCreate a Companion AI with the Emerald AI Setup Manager)
go to Window > Emerald AI > Setup Manager within Unity.
In setup settings > AI object : Woman_01_Without_Helmet_01 (Emerald Companion)
And click the “save “ button at the end.
Companion Example
An example of a Companion AI that follows the player around. It will attack any opposing AI that tries to attack the player.
For the enemy: In inspector, the tag must be “enemy” and layer “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.
How to do add weapons and Ammo?
In Invector > Shooter > DemoScene
In hierarchy: Hive > Shooter_Hive > ShooterFeatures > Inventory_Collectables
– Ammo > vAmmoAssaultRifle_Inventory
– Weapons > vCollectibleAssaultRifle
Copy-paste on your project and change Transform to fit around your main player . (-1,0,0) and (0,0,-1)
In Invector player (vShooterController_Woman_01_With_Helmet_01) “Shooter manager” panel > in damage layers > select enemy.
How to configure vMeleeManager Code Snippet ?
In Assets/Invector-3rdPersonController/Melee Combat/script/melee weapon/vMeleeManager.cs.
Find the vMeleeManager script within your projects and open it. This code should be added right below the line onDamageHit.Invoke(hitInfo);
//Emerald AI Damageif (hitInfo.targetCollider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>()){ hitInfo.targetCollider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)hitInfo.attackObject.damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player, transform, 400);}
How to configure vProjectileControl Code Snippet ?
In asset > invector > script > weapon > vProjectileControl.cs
Find the vProjectileControl script within your projects and open it. This code should be added right below the first instance of onCastCollider.Invoke(hitInfo); and damage.damageValue = maxDamage;
//Emerald AI Damageif (hitInfo.collider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>() != null){ hitInfo.collider.gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player);}
How to configure vExplosive Code Snippet ?
In vExplosive script , after colliders[i].gameObject.ApplyDamage(_damage, null); //Emerald AI Damageif (colliders[i].gameObject.GetComponent<EmeraldAI.EmeraldAISystem>() != null){ colliders[i].gameObject.GetComponent<EmeraldAI.EmeraldAISystem>().Damage((int)damage.damageValue, EmeraldAI.EmeraldAISystem.TargetType.Player);}
How to configure EmeraldAIPlayerDamage Code Snippet ?
in EmeraldAIPlayerDamage script, import script replacement DamageInvectorPlayer
uncomment function DamageInvectorPlayer(int DamageAmount, Transform Target) ;
void DamageInvectorPlayer (int DamageAmount, Transform Target) { if (GetComponent<Invector.vCharacterController.vCharacter>()) { //Applies damage to Invector and allows its melee weapons to block incoming Emerald AI damage. if (GetComponent<Invector.vCharacterController.vMeleeCombatInput>().meleeManager != null) { var PlayerInput = GetComponent<Invector.vCharacterController.vMeleeCombatInput>(); var MeleeManager = GetComponent<Invector.vCharacterController.vMeleeCombatInput>().meleeManager; if (PlayerInput.isBlocking) { var _Damage = new Invector.vDamage(DamageAmount); var DamageReduction = MeleeManager != null ? MeleeManager.GetDefenseRate() : 0; if (DamageReduction > 0) _Damage.ReduceDamage(DamageReduction); MeleeManager.OnDefense(); _Damage.reaction_id = MeleeManager.GetDefenseRecoilID(); _Damage.sender = Target; _Damage.hitPosition = Target.position; GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage); } else { var _Damage = new Invector.vDamage(DamageAmount); _Damage.sender = Target; _Damage.hitPosition = Target.position; GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage); } } //If no Melee Manager is found, cause unreduced damage. else { var _Damage = new Invector.vDamage(DamageAmount); _Damage.sender = Target; _Damage.hitPosition = Target.position; GetComponent<Invector.vCharacterController.vCharacter>().TakeDamage(_Damage); } } }
How to display name and Ennemy Health status bar ?
In AI Settings > Stat AI Name : AI Grenadier
In UI settings > UI Layer : Player
In UI settings > display name
In UI settings > enable health bar
How to add Bullet Collision Detection?
How to Damage on enemy (Grenadier):
Search for vDefaultBullet prefab
Go to Vprojectilecontrol
Go to Damage Options
Set damage value to any Number(like 10) (Previously it was 0).
Choose the prefab/ asset (woman_01_with_helmet) with helmet
Inside vshooterController_woman_01_with_helmet , move 3D model where you want and copy paste the coordinate inside vshooterController_woman_01_with_helmet (Position: X = 0.9 ; Y = 3.5 ; Z = 0.6) (Rotation Y = 180) from closed space to open space.
After reset position 3D model
play
How to add weapons and Ammo ?
In Invector > Shooter > DemoScene
In hierarchy: Hive > Shooter_Hive > ShooterFeatures > Inventory_Collectables
– Ammo > vAmmoAssaultRifle_Inventory
– Weapons > vCollectibleAssaultRifle
How to pickup weapons and Ammo?
Copy paste from invector demo scene into “MyScenes” the weapon (vCollectibleAssaultRifle).
Change weapon (vCollectibleAssaultRifle) position coordinates (-50 ; 48 ; 1.45)
Press E on it to pickup. Right Click to zoom and left click to shoot.
How to configure the project Settings :
Author to define in application settings
In Scene in build > Add myproject > Demo
Resolution > Windowed
Resizable windows > not checked
How to close the application properly :
Press “I” for ‘Inventory’ and mouse is free
How to update the Unity 3D Editor?
Select LTS Update
Reimport Assets
Convert all assets to HDRP with HDRP Wizard (can be long)
How to add Bullet Collision Detection and Health status bar ?
In Geopipe > “pack01Demo” import All necessary objects from the FPS microgame (player and the others)
Select the scene. After, In Unity > file > BuildSettings > uncheck all the scene you don’t want” and check the correct one with “Add Open Scene” (interfaces linking to other scenes mainly)
How to position the Player in the environment :
In hierarchy > Click player.
In inspector > transform > Change position (50, 20, 8)
In inspector > transform > Change Rotation (0,0,0)
How to add an enemy:
In hierarchy select create empty, rename “===== ENEMY =====”
In project > FPS > Prefabs > Enemies
“Drag and drop” one on the map
Repeat “Drag and drop” until satisfy of the number of enemies. (“All objectives completed” when all enemies dealt with)
Vous devez être connecté pour poster un commentaire.