Exploring Unity - 3D graphics used in gaming and VR/AR

For our last assignment, we were required to create a 3D character, use C# programming language to control the character, and put that them in an environment. We used Adobe Fuse for character creation and Mixamo to apply pre-made animations.

This is my character, Jess at Burning Man in the year 3000, when the event will inevitably be hosted on the moon.

screen-shot-2016-12-12-at-4-25-58-pm

Jess can be controlled with the following key presses:

  • walk forward [ up arrow ]
  • walk backward [ back arrow ]
  • walk forward diagonally [ up arrow + left arrow, up arrow + right arrow ]
  • air-guitar playing animation [ key 1 ]
  • robot dance animation [ key 2 ]
  • fall flat animation [ mouse click ]
  • wait animation (randomly picks between two different options) [ key 5 ]

[video width="2880" height="1800" mp4="http://www.chrissyelie.com/wp-content/uploads/2016/12/Documentation_unity.mp4"][/video]

Here is the C# code for controlling the animations above:

using UnityEngine; using System.Collections;

public class player : MonoBehaviour {     

    public Animator anim;     public Rigidbody rbody;

    private float inputH;     private float inputV;     // Use this for initialization     void Start () {         anim = GetComponent<Animator>();         rbody = GetComponent<Rigidbody> ();

         }          // Update is called once per frame     void Update () {         if(Input.GetKeyDown ("1")) {              anim.Play ("guitar_playing", -1, 0f);         }         if (Input.GetKeyDown ("2")) {              anim.Play ("robot_hip_hop_dance", -1, 0f);         }         if (Input.GetMouseButtonDown (0)) {             anim.Play ("fall_flat");         }         if (Input.GetKeyDown ("5")) {             int n = Random.Range(0, 2);                           if (n == 0) {                 anim.Play("WAIT01", -1, 0f);             }             else {                 anim.Play("WAIT03", -1, 0f);                 }                  }

        inputH = Input.GetAxis ("Horizontal");         inputV = Input.GetAxis ("Vertical");

        anim.SetFloat ("inputH", inputH);         anim.SetFloat ("inputV", inputV); 

        float moveX = inputH * 20f * Time.deltaTime;         float moveZ = inputV * 50f * Time.deltaTime;

        if (moveZ <= 0f) {             moveX = 0f;         }

        rbody.velocity = new Vector3 (moveX, 0f, moveZ);     } }

 

1-3 minute animated story -- They can't all be winners ;)

For our second animation assignment, we were asked to work with Adobe After Effects. Here is the post with the initial story idea and the storyboard.

This was probably the hardest thing I've ever had to do. Create a 1-3 minute story in After Effects and animate it. This is what Grant Henry and I were able to come up with.

Process in Animating the Character

From searching through youtube videos to create a walk cycle, Grant came across the Duik plug-in in this tutorial that helps with rigging the character.  By using the puppet tool, bones are created which helps to create realistic movements and walk cycles.   I didn't quite master the plug-in, but it might prove useful at a later date.

Duik helps with the squish and stretch components in a character -- something that is very time consuming to do otherwise.

What worked in this animation

I think that using live footage for the background really helped for us to create the environment for the lamp. I think I would do this again, because I'm not so great a animating at this time, having a recorded background environment helped to fill out the story.

I liked that we ended up using the documentary-style story. This allowed for the story to jump around without it feeling to disjointed.

I'm very happy that we didn't decide to have a mouth in this animation... I feel like that would have made it just that much more difficult.

What we might do differently

To just name a few issues...

  1. Tracking points on the wall where we have the poster so that it looks more realistic to animate
  2. Speed up some of the key frames so that the lamp doesn't appear to be moving in slow motion
  3. improve the walk cycles ;)

Overall, it was a great experience.

After Effects is a very powerful tool that I feel I have just scratched the surface of. There is still so much to learn and I will continue to work with it to attempt to get comfortable in the software.

Animating in After Effects

Over the next couple of weeks we will be using Adobe After Effects to animate a character in a 1-3 minute animation.  I have paired up with Grant Henry to create a story around dream of a small lamp that wants to make it big in New York City.

Story idea

A small lamp toy, that you might find at a souvenir store, has come to New York City to try to be in a Broadway play that he has always dreamed of being in. Since he was a child we has wanted to be the lamp in the show Aladdin. He currently works in a lamp store, lives in Central Park and goes to auditions to try and make sure dream come true.  This piece is going to be shot in a documentary/interview style in Central Park where the lamp reminisces about his experiences so far...

Our initial shot ideas are listed here

Character

dude
dude

Storyboard:

new-doc-11_1.jpg
new-doc-11_2.jpg

Class 1: Stop Motion Animation

We were tasked to create a stop motion animation video in 30 seconds or less.  I was paired up with Jeff Park and Pan Pan and we started hitting the ground running with some awesome ideas. Each of us came with three story concepts.  We ended up deciding to create the story called "Book Tales". We decided that we wanted to do the shoot in 12 frames per second, which worked out well for the overall feel of the story.

We first created a brief storyboard so that we knew what shots we wanted to capture.

animation_storyboard

animation_storyboard

We wanted to be able to work in the library and shoot it without being asked to leave, so we had to make sure we had everything planned out ahead of time.

Shooting in a library was actually easier than expected. We were in a corner that nobody came to so we had plenty of time to get the shots we needed.

In class one, we reviewed the Principles of Animation:

Squash and stretch

We were lucky because we decided to have our story about a book, it's movements, gestures and fall were pretty straight forward to capture.

Anticipation

I think that we captured this in the beginning when the book is waiting to be selected.  It's difficult to work anticipation into a 30 second story, but I feel like we were able to create a short amount of anticipation.

Staging

At first we were going to add many eyes to many books on the shelf.  We decided not to do this because to would affect the staging of the story. The scene would be too cluttered and it would be hard to concentrate on what's going on in the scene.

Straight ahead or Pose to Pose

Because of the rigidly of the book, we decided to take the pose to pose appearance in the story.

Slow ins and slow outs

This was a concept that we didn't really consider in the creation of this story. Maybe if we shot it in 24fps then maybe we would have considered this more

Secondary action

The secondary action in this short were the people moving in the beginning of the scene.

Appeal

I think because this is a common story of not feel 'good enough' can hit home for many. So I feel that the appeal of the story is something that many people can relate to.

Here is the end result: