My Portfolio

Thursday, November 25, 2021

Nov 25th - Procedural Animation and Basic Shaders

I did some animation rigging during my last project with the Dune worm and I decided that I wanted to do a really deep dive into it. So far I've been having a lot of fun and feel like the animation rigging package could really help me create some great boss battles and more easily creating cinematic/scripted events. Here are some clips from what I've been experimenting with.


My first mini project was to try and create a walking 2-legged robot where the legs automatically move themselves after they exceed a set distance from the main body. It was amazing when I got it work and I could see the legs automatically animating themselves while manually moving the Walker-Bot around. Here is a GIF where you can see me manually moving the body with the legs procedurally animating themselves. 

Saturday, November 20, 2021

November 13th - My Team's VR Mario Showcase Project

During the PXR2021 Conference there was a goal of creating some sort of collaborative virtual reality project throughout the week. I wanted to participate because I thought this could be a fun short-term creative VR project opportunity. 

My team had students across multiple disciplines and background. Not everyone could meet at the same day/time and as a result it was only towards the last 2-3 days of the conference that we really got going with sort of VR project.

For my team we had a few students who really wanted us to help them create a Mario inspired VR experience. Using that as our creative theme and direction we made a Nintendo Mario themed Altspace world. 

Poster art by Dylan Coakes

Friday, November 19, 2021

Nov 14 - Performance and XR 2021 Virtual Reality Conference

I got an opportunity to attend the Performance and XR 2021 Virtual Reality Conference through a director at the Centre for Entertainment and Arts. The whole conference was centered around using Altspace as the VR venue. 

When I first tried VR Chat I remember getting motion sickness after a while of using it. Similarly I'm finding a bit of motion sickness in Altspace when using continuous loco-motion but I think I'm starting to build more resistance to it now. Either way, I do prefer using the teleport locomotion since I get far less motion sickness with it. At the moment I find both VR chat and Altspace to be pretty similar to one another.

I also built my first Altspace world as well.

Experiencing and Building worlds in Altspace

For my first Altspace world I decided to try and create a scene inspired from the big sci-fi movie Dune with a world that has a giant Desert Worm hopping around. 

This is footage from the Unity Editor where I first created the VR experience. However, I found that you can't just directly import the Unity scene into Altspace. There is a huge limitation where you can't use be uploading a scene that utilizes any custom C# monobehavior scripts. 

After experimenting for an afternoon, I decided to use Unity's Timeline sequencing to create this scene and trigger the sound and particle effects at the right time. Kinda sucks that you can't use scripting at all. Especially since I had spent the time rigging the worm using Unity's Animation Rigging which allowed for real-time animation. Regardless I was still able to pretty much deliver the full VR experience I intended for VR.

For the modeling I used Probuilder to create the Dune Worm.

If you want to check out this Altspace world you can using the world code : PKI578.


Monday, November 1, 2021

November 1st 2021 - Autonomous Agents, Basic Flocking and Vector Math


Here is a quick example of a basic flocking system I created. The flock of circles is simulated to follow after where the mouse is positioned in the game screen. The position of the mouse is tracked through a screen raycast that hits the background plane. The flock is set up with a behavior to also avoid colliding with each other which gives it some more realistic movement. 

One of the key takeaways from this little programming project was the system design aspect. The flock system manager contains a list of all the flock agents and provides the agents with system context. The individual behaviors are managed at the flock agent level.

As an added benefit I feel like I've gotten a lot better at moving objects with forces in 3D space and how to use simple Vector Math.

The most difficult vector math concept was dot product. It wasn't that the math was difficult but the fact that I had misinterpreted the supporting image diagram which led me to repeatedly incorrectly using the formula and wondering why it wasn't working. The goal of the dot product I had for my project was to find the Vector3 location for where the red dot should be along the bottom horizontal line based on the box above. 

I used the dot product to make the yellow arrows follow a predetermined path. If the predicted position of the yellow arrow is too far from the target red dot it would trigger a steering correction for it to move again back towards the path.

The final recent project was a tutorial on how to create a editor script that can read a CSV file and convert it into a scriptable object. Pretty handy in the future in the scenario that I have a lot of data that needs to be managed or changed.