Skip to content

XR Storytelling project presents live animations for viewers to be fully immersed in a story in VR environment. (Unity, C#, Mixamo)

Notifications You must be signed in to change notification settings

doguma/StoryTellingXR

Repository files navigation

Story-telling XR Framework - Animation

2021 VR Summer Project (https://youtu.be/79MMeKkfeFU)

  1. Project Summary
  2. Prerequisites
  3. Progress

Project Summary

XR Storytelling Project presents 3D Animations for viewers to understand the storyline while immersed in VR. This repository shows the dynamics of different animations that involves physics of AI, Waypoints & Graphs, Navigation Meshes and Finite State Machines. The animations with AI were created to depict the different types of character actions for the Storyboard via Unity3D.

Prerequisites

  • Unity 2021.1.13
    https://unity3d.com/get-unity/download
    
  • Requirements are limited by Unity game engine requirements, running on both Windows (7, 8, 10) and Mac OS X (10.9+). More information about Unity requirements can be found at: https://unity3d.com/unity/system-requirements.

Progress

Basic Animations

As of August 19th, 2021

  • "Sitting on a Chair" animation

By using AI based walk, the character moves towards the object upon the click of the object. Based on the proximity of the target object, the character goes through a sequence of animations (stand to sit, sitting, sit to stand) and walks away as the object actions are completed. Animations from Mixamo, and character & environment models from Meshtint were utilized in this story.

Camera Movement

As of August 27th, 2021

  • Camera following the character around to enhance user engagement

The viewer is presented with a bird-eye point of view with a fixed camera angle, which allows an semi-objective perspective of the story as the character moves around.

Physics and AI

As of Sep 10th, 2021

  • Agent with automated targeting

The tank object is embedded with a script to measure Euler angles between the target (main character) and itself (main character), this angle determines the rotating direction. The trajectory of the shooting material (bullet) is also calculated with the gravity, speed, and preset angles. The physics and equation were referenced from Unity Learn's Physics of AI.

Waypoint System

As of Sep 17th, 2021

  • Character Navigation with Waypoint System

Character navigation led by graphs of waypoints (yellow balls for visibility) with smooth rotation. This can be also applied to non-player character/object navigation to add movement to the background objects. Unity provides simple waypoint mechanism via Vector3 distance and Quaternion rotation.

Following is another example with Distant Lands asset - Athazagoraphobia and Cryptid

'Will-o'-the-wisp walking over the wires'

  • Waypoint works for all 3 dimensions, allowing walks on different heights and positions

Waypoint Variations

As of Sep 29th, 2021

  • Variations of Waypoint System

Waypoints can be incorporated with different animation sequences as well - patrol, idle and jump functions were implemented with waypoints in this story. Throughout the game play, incremented waypoints are conditioned with the current time in Unity, which enables the character to pause in between the animations.

Simple patrol function allows smooth animation sequence, while jump and idle functions use time to wait for certain amount of seconds before moving onto the next waypoint. Below is an example of the character jump animation with time pauses in between the jumps.

Will-o'-the-wisp jumps off from the wire, steps on invisible stairs, and swims towards the bottom ground.

Unity also allows change of physics state of the character in the script - here the character's rigidbody is changed from a floating state to a state with mass pulled by gravity.

When Will-o'-the-wisp almost reaches the ground, gravity is applied to the rigidbody, allowing smooth transition from state of jumping in the air to a state of walking or patrolling over the ground.

Character Interactions

As of Oct 8th, 2021

  • Character Interactions

Simple interaction is created between Will and Spectre with each animator iterations. Will tries to talk to Spectre by approaching him and chatting out loud to wake him up.

However Spectre barely responds by raising his head slightly to see where the sound is coming from, waves with his hand, and goes back to resting state. Will loses interest and leaves to look for another creature.


References :

  • Brackeys
  • Wizards Code
  • Unity Learn (Artificial Intelligence for Beginners)
  • Distant Lands (Unity Assets)

About

XR Storytelling project presents live animations for viewers to be fully immersed in a story in VR environment. (Unity, C#, Mixamo)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published