top of page
YFNW - ThrowObject.cs and EnemyProjectile.cs
Role / Tasks:
- The enemy NPC uses the FaceObject.cs script to stay turned towards the player.
- When player approaches the NPC, ThrowObject.cs detects player distance and plays a voice warning.
- If the player approaches further, the NPC will play the throwing animation.
- By the end of the throw animation an event will be called to instantiate an instance of projectile prefab that contains the EnemyProjectile.cs script, and the current needle game object in the player's hand will be destroyed at the same position for a smooth transition.
- A new needle will be spawned in the NPCs hand when it returns to the idle animation state.
- Spawned projectile will be launched with an impulse towards the players current location.
- As the animation returns to idle, another
- Upon impact with default layer, the object's velocity will be set to zero and object will be childed to the object it collided with.
- If the object collides with the player's hitbox (i.e. head) then the DeathSequence() method will be run, the NPC will stop attacking, and the player will through the fade-out/fade-in coroutine and respawn at the starting point, with DialogPlay() method being called to initiate the starting NPC dialog.
- The needles will be destroyed after 15 seconds of existance.
- While the needles are in the air, they will be childed under the "Projectiles" pool object.
- The enemy NPC uses the FaceObject.cs script to stay turned towards the player.
- When player approaches the NPC, ThrowObject.cs detects player distance and plays a voice warning.
- If the player approaches further, the NPC will play the throwing animation.
- By the end of the throw animation an event will be called to instantiate an instance of projectile prefab that contains the EnemyProjectile.cs script, and the current needle game object in the player's hand will be destroyed at the same position for a smooth transition.
- A new needle will be spawned in the NPCs hand when it returns to the idle animation state.
- Spawned projectile will be launched with an impulse towards the players current location.
- As the animation returns to idle, another
- Upon impact with default layer, the object's velocity will be set to zero and object will be childed to the object it collided with.
- If the object collides with the player's hitbox (i.e. head) then the DeathSequence() method will be run, the NPC will stop attacking, and the player will through the fade-out/fade-in coroutine and respawn at the starting point, with DialogPlay() method being called to initiate the starting NPC dialog.
- The needles will be destroyed after 15 seconds of existance.
- While the needles are in the air, they will be childed under the "Projectiles" pool object.
Customized Hand Gestures
Role / Tasks:
Used hand pose generator and C# scripts to create Inverse Kinematics hand poses that are triggered when a certain object is held. The anchor on the object and the hand are aligned during the movement of the hand creating a seamless player experience.
Used hand pose generator and C# scripts to create Inverse Kinematics hand poses that are triggered when a certain object is held. The anchor on the object and the hand are aligned during the movement of the hand creating a seamless player experience.
YFNW - PlayerProjectileAttack.cs
Role / Tasks:
- Used Unity Interaction Toolkit SDK and scripted PlayerProjectileAttack.cs to implement projectile attack functionality.
- The fireball project is instantiated at the tip of the firewand and propagated in the direction of the wand.
- Upon collision with certain layers, the fireball game object is destroyed and the explosion effect is spawned along with light and sound effects.
- The enemy NPC plays the death animation in the corresponding direction and instantiates a death effect upon destruction.
- Used Unity Interaction Toolkit SDK and scripted PlayerProjectileAttack.cs to implement projectile attack functionality.
- The fireball project is instantiated at the tip of the firewand and propagated in the direction of the wand.
- Upon collision with certain layers, the fireball game object is destroyed and the explosion effect is spawned along with light and sound effects.
- The enemy NPC plays the death animation in the corresponding direction and instantiates a death effect upon destruction.
YFNW - WandAttack.cs
Role / Tasks:
- When the firewand tip collides with the collider of the enemy NPC, spark particle effects are instantiated at the tip of the wand along with a corresponding sound effect.
- WandAttack.cs initiates the death animation coroutine of the enemy NPC.
- After a designated time the death particles are instantiated and the NPC game object is destroyed.
- A collider on the ground around the enemy NPC avoids the player from approaching too much to avoid a "run in lunge".
- Once the death sequence is started, the WandAttack() method's "deathSequenceInProgress" boolean is turned to true and future collisions between the wand and the NPC colliders are prevented.
- When the enemy NPC is destroyed an event is called to also destroy the collider that prevents the player from choosing the ground around him to teleport.
- When the firewand tip collides with the collider of the enemy NPC, spark particle effects are instantiated at the tip of the wand along with a corresponding sound effect.
- WandAttack.cs initiates the death animation coroutine of the enemy NPC.
- After a designated time the death particles are instantiated and the NPC game object is destroyed.
- A collider on the ground around the enemy NPC avoids the player from approaching too much to avoid a "run in lunge".
- Once the death sequence is started, the WandAttack() method's "deathSequenceInProgress" boolean is turned to true and future collisions between the wand and the NPC colliders are prevented.
- When the enemy NPC is destroyed an event is called to also destroy the collider that prevents the player from choosing the ground around him to teleport.
Physical Interaction Affordances for VR
Role / Tasks:
Created the C# script for customized button, lever and handle interactable objects that can dictate the behavior of other game objects.
Created the C# script for customized button, lever and handle interactable objects that can dictate the behavior of other game objects.
bottom of page