My name is Stevie Vu and I'm focused on Virtual Reality. Follow this blog if you want updates on how my projects are going as well as what I'm learning.
October has been a mixed month where I've been spending quite a lot of time on learning Game design. I haven't stopped working on improving my programming though and been continuing to work my way through The Nature of Code, which is a free e-book if you are interested.
The biggest benefit so far in learning from The Nature of Code is that it's helping me get a much better foundational understanding of how to use vectors linear algebra and applying forces to create both better movement.
Here is a quick GIF of a flying-type creature where the wings are moved using a looping rotation script based on cosine and the body utilizes a vertical force to push itself up and is affected by gravity and whether the wings are flapping or not.
Since I have access to the Advanced Game Design curriculum as a part of the teaching staff at the CEA, I figured I should use this opportunity to learn as much as I can and round out my understanding of creating games. Two primary areas of interest that I've been focusing on is Level Design and Storytelling.
Recreated another monster concept art by Satoshi Matsuura into a 3d model for practice. I feel its a pretty good recreation of the concept art. Implemented a basic body rig for the 3D model as well but didn't do any animations. Maybe I'll do something simple with it in the future.
I felt pretty comfortable tackling this practice project and I can attribute it to my gestural sculpting practice that I was doing. The character was composed of simple shapes that I knew I would be able to easily recreate with sculpting. After sculpting the character I then retopologized it. I put the character in a T-pose to make it easy to retopologize but it was only during the process that I realized that for future projects I should make things like the tentacles straight as well and then pose them afterwards. This is because it was a pain to retopologize the tentacles as a result of the angles.
One new tool I discovered and wish I knew about before is the B-Surface addon that comes built-in with Blender but isn't enabled by default. I only learned about it after completing the retopology but I can see myself using it more extensively for all future retopology projects.
An area of weakness and improvement that I will look into more in the future is to figure out a process for texturing.
Italy Burano - 3D Recreation Project
For my next project I wanted to try my hand at making something more realistic in 3D and decided to use a a picture by Mathew Chen that he took of Italy. Still a lot of areas to improve upon but it was a good learning project for practicing hard-surface modeling and spent time focused on texturing.
If you want to see more beautiful photography/videography take a look at Mathews portfolio at : https://www.chenproductions.com/
Regular Video - Italy Burano
360 Video - Italy Burano
When I first approached the texturing I figured I could use camera projection to get easily create photo realistic texturing. Sadly the image I was using wasn't high enough resolution and the textures that I made were really pixelated so in the end I had to make each texture myself.
It was a good experience since I haven't spent a lot of time on texturing and now feel comfortable with the basics.
I want to experiment more with camera projection in future projects as I feel like it can be a powerful approach to creating 3D assets quickly.
The water effect was created using the PBR Shader in Unity. Still a complete noob at shading and plan to tackle that in much further depth next month.
Continuing to work on animation basics and I've made a short clip of the classic ball bouncing.
Also just discovered Beeple and inspired by how he has been doing daily renders for over a decade now. His daily work is amazing with some of it feeling like concept art where I would love to see more of. I looked up a few interviews on YouTube and listened to his explanation for why he does his daily's and realized that it allows him to experiment and discover his style and how to create unique effects.
I won't be doing daily renders like Beeple but I do want to incorporate more experimentation into my practice. Here's one of my physics and particle effects experimentation.
Another one inspired from the controversy around the deadliness of Covid-19.
Sculpting is still an area I'm working to improve. I'm doing gestural sculpting to get better at creating shapes and continuing to study human head anatomy to try and create better and more realistic head sculpts.
Just finished two advanced tutorials on CG cookie focused on vehicle sculpting and creature sculpting. Learned a lot from the process in terms of how to achieve finer details. One area that I know I still need a lot of work in is how to properly retopologize models based on sculpting. I'm definitely not an expert in anyway but I do feel a lot more confident and comfortable creating 3d assets that I might want or need now.
After I finished with them I also decided to put them together in a short 360 video as well. I'll be focusing on improving animation next.
Getting more comfortable and familiar with modeling in Blender and using the modifiers now. Still a lot to learn if I want to sculpt realistic objects but I'm confident creating simple shapes and forms now.
Also played around with my airplane model with a short animation using a audio clip from Dunkirk. While working on it I realized how sound can be really useful for storytelling when it comes to building anticipation.
Character Modeling
Character modeling is something I want to progressively get better at for sure though so I'm making a time investment in learning the human anatomy and practicing it frequently. Trying to accelerate my learning so I'm doing focused practice and study on the human head. Trying to create a human head without reference and then reviewing my work to identify where I'm making mistakes and to avoid making them again on the next attempt to get better more quickly.
Been chugging away on the blender 3d modeling tutorials on CG cookie and started trying out hard surface modeling. I decided that with the corona virus issue going on and just staying home most of the time that a good project would be to recreate my new home and create a virtual tour of the space.
I want to create the virtual home tour project in Unity while creating all the assets in Blender. This has been my main focus and it's given me a reason to better learn how to use Unity. I have a better understanding of the different interfaces and how to change the settings dealing with environment lighting, material and textures. The light explorer function in unity is something new and is really useful for more easily adjusting lighting.
Video capture - 360 video
I've also discovered that the old tool that I used to use, Unity Recorder, has been decommissioned and no longer available. Looking for a new solution I downloaded the demo version of Video Capture in the asset store and liked how well it worked and purchased the Pro version which is on sale. Took quite a bit of time learning how to use it but so far I'm finding it to be much better than Unity Recorder with some interesting features that I think will enable me to make better 360 videos.
Getting better at character modeling is still a focus and I'm trying to practice doing faces. Should be sculpting more faces but I feel I've gotten better at doing eyes and eyelids.
I still need to practice human mouths and noses a lot as I'm not sure what I still feel like I don't know what I'm doing in sculpting yet.
The current tutorial focus is hard surface modeling which I only started after creating the vast majority of assets for my Virtual Home tour. The approach and skills I'm learning from the tutorial are already showing me better ways to approach modeling which is a nice surprise.
All in all, I feel like I've been making pretty good progress on getting more skilled.
A bit of
a rushed project at the end and could have spent a lot more time polishing
everything. Still, I feel that uploading and sharing it out is better than just
having it languish as an un-finished draft forever. Although I'm sure I'll look
back at this and cringe in the future...
Here are my thoughts after finishing this learning project:
Gotten more comfortable with
the Blender/Unity and make was able to progress in the project much
faster.
Blender
Learned UV warping / Bone
location constraints /
Exporting animations
Figured out the issue
with exporting animations from blender into Unity. Wasted a lot of time
wondering why even though I stashed the animations they weren't
appearing in Unity. Turns out I need to select and highlight all of the animation key
frames for them before I export from Blender. Makes sense since I
select the option where it only exports what's selected. This might
make it so I can really start working from one singular master blender
file for future projects instead of the way I'm splitting them up right
now.
Rigging
I added in clothes to the models and now understand why you would want to delete the non-visible underlying objects and mesh's. Removes weird clipping issues and artifacts. I had wasted a ton of time rigging the models and trying to get all of the objects to deform together.
Unity
Learned the basics to Trail Renderer and got some more experience with VFX particle generator creating fire. I do want to spend more time learning how to use both to create effects in the future.
Unity Physics - I had manually animated the falling speed of the objects but next time I might just try and use Unity Physics engine to do it. That way the falling speed is more natural.
Turning off the environment lights seems to work alright as a replacement for fading in and out of scenes. Still needs a bit of work to make it darker but is a usable solution for now. Lighting overall is something that I can probably improve a lot on
Timeline - Much better organized than my last project and was able to separate the animation out based on scene
Falling animation can probably use the rigid body physics of Unity so I don't need to animate it.
Audio - I can probably improve the audio a lot by just using one single track. That way I can adjust the volume and quality of all sounds. It'll be an additional final step that I can add to projects.
What's next?
I need to
learn more about how to do better modeling. Better modeling will help both
rigging and animation so I think improving my modeling skills will result in a
larger overall improvement.
As a
result I've signed up on CG Cookies so that I can take their 3D
Blender courses. Specifically, I'm interested in their course about good
topology for modeling.
However,
after taking a look at all the courses that are available, I might spend the
time to go through all of them. If I do, try to take all of the courses then
then this may very well end up being the focus of both August and September.
Been an extra busy week but I should be able to finish this cooking skit project by the end of the week. Here is the current progress of the project:
I've UV mapped and colored all of the cooking objects on the table as well as animated them being thrown into the air and being chopped up.
I realizes that I should consider very carefully what objects I want to include in a scene and take out anything that doesn't add to my goal. The ingredients are important to this skit but if they weren't they would have taken up a lot of time.
I've been working on a short cooking animation skit to enter into Dillon Gu Chaotic Cooking Animation Contest. The requirement is that it needs to be cooking themed. Don't expect to win but I felt that the contest would help through giving me both creative parameters as well as a deadline to finish.
I modeled new characters for the animation and do feel that they are better than my first set already. Unfortunately it was only when I was pretty much done modeling the new characters that I thought about trying to modeling and rigging eyeballs. Attempted it for a bit but realized that the face shape I had made would make it really time consuming and decided to try and create flat cartoon eyes instead.
Initially I followed a YouTube tutorial that used UV warping in Blender to animate the pupils. It worked in Blender but didn't quite translate over into Unity so I had to make due with just attaching bones to the black pupils of the character.
While rigging the characters I realized why its a smart idea to delete the mesh that are underneath the models and can't be seen. It makes the whole process of rigging better since you don't have strange deformations during the animations.
I realized during the process that learning more about proper topology and modeling is something I'll have to look into and can help improve everything overall. Should make both UV mapping and Rigging easier. Better rigging should also lead to better animations as well.
In Unity I've started using the trail renderer for the first time. Hoping to give a cool cutting effect for the character cutting animation. Hopefully it turns out as well as I hope it will.
I'm planning on keeping this animation skit short so I should be done over the next week if I don't run into any unexpected problems.
I'm finished with this learning project as I've reached my animation skit goal that I originally envisioned! It has been a great learning experience so far. Here is the 360 Skit for you to watch:
Just watching it over now that I'm finished with it I can see pretty much all of it can be redone to be better. Quite a few times I found myself during the later half of the project thinking that I could have saved time or made it better if I had done things differently initially. For example, I discovered that you can animate the texture/material and change it using timeline. This would make things much easier than than how I was activating and deactivating the expressions to get the characters to emote different expressions
Regardless I'm happy that I was able to keep progress steady and finish all of this in two weeks.
Maybe I'll revisit this skit in the future and redo it as a comparison piece.
Quality varies based on device and application
The quality of the 360 video really varies depending on what device you view it on as well as the application it's opened in. It looks best on mobile and rather pixelated on desktops because of the larger resolution. When testing it out, if you use the YouTube mobile app it looks good but if opened in a mobile browser the quality drops pretty hard.
What I'm taking away from this is that I shouldn't get too hung up on detailing the models, objects or the environment because those details might not be visible depending on the device or app used to watch.
What's next?
Working on a animated cooking skit. Trying to finish it within the next two to three weeks to submit to Dillon Gu's animation contest. Don't think I'll have a chance at winning but it helps me with figuring out my next project and focusing my efforts to improve.
I also finished the Queenie model 2.0 I started on last week with the goal of making better hair and creating a simple outfit. Unwrapped it and applied a texture and it looks much better.
I'm working on creating a Stevie cooking model. Trying to improve it all around and so far I think it's much better at a basic modeling level. My new experiment is going to be rigging the eyes so that I can animate where they are looking as he cooks.
Been a good week in terms of progress. Slowly tackling through my list of items that I need to complete for the Basic Queenie & Stevie Ramen Skit. Shouldn't be too long before I reach my goal.
Key learning #1 - Project Organization & Workflow
Biggest key learning from the project so far is how to better plan and organize any future projects like this. I had made the characters in separate blender files which has made exporting it all the Unity a bit of a pain. I could probably have just kept working off of one master blend file and just moved the character to different layers and it would have been smoother work flow. During the Canada long weekend I also decided to make a new Queenie Chibi model which I think turned out much better than the one I'm currently using. At this point I haven't rigged it or even colored the new model but I'm looking forward to comparing it to my old one after I'm done.
It's been fun to be able to mostly focus on applying what I learn instead of just following learning tutorials. Starting to get much more comfortable and familiar with the UI for Blender that's for sure.
While working on this project I realized that I could probably spend quite a lot of time trying to tweak and improve things. My vision when I started was to make a basic skit that allowed me to apply what I learned and test to see whether I could bring to life what I imagined. So far I haven't run into any technical challenges that have been impossible for me to overcome. At this point I think I'm going to try my best to avoid project scope creep and move on as soon as I achieve the vision I had in mind at the start of the project.
Perhaps after I finish another project or two I'll revisit this in the future to remake it and compare how I've improved.
Next Focus Areas
Thinking about my next steps I'm going to focus on learning the basics for other skills that I have no experience in before making a list of key skills that I'll focus on getting better at. I want to get better at VR Story telling as fast possible.
The three key basic skills I want to learn more about and gain a basic understanding would be:
Particle Effects
Environment Lighting
Unity Shaders
Afterwards I'll probably get back to focusing on improving my Blender 3D modeling and then Rigging/Animation.
Here is a short video on the current state of the project.
Been a few days since I picked up where I last left off. Learned how to do some basic 3 Modelling and animating. I think I have most of the basic skills I need to create a short skit and starting to try and put the pieces together.
Here's what I put together based on a Youtube character modeling/rigging/animation tutorial.
Applying what I learned I created two basic Chibi models of myself and my fiance Queenie. Decided to test out if Unity Recorder also properly records sounds. As you can see, it seems like it works perfectly fine and won't be something I need to worry about. However, it seems this is the highest quality that Unity Recorder can output. For now I'm just happy that it works so I'll figure out the quality issue in the future.
Animating facial expressions is still something I need to properly learn. Right now I have a work around where my character models have a floating mesh where the eyes and mouth are. Using Unity Timeline I activate and deactivate the mesh to change their expressions. For some reason I couldn't apply automatic weights in Blender so I had to weight paint the rigs manually which ended up taking up a massive amount of time.
Here's a mock up of the restaurant environment for my short skit. You can see the mesh I have for animating the expressions.
Moving onto the course on character rigging now. Not fully finished the course of 3d modeling a character but finished all the modules on building out the basic body parts. The rest of the modules look like they deal with detailing the ninja character outfit. I think I'll move on for now and revisit these modules about detailing when I start building my own characters.
Here's a picture of the ninja model with my current progress of inserting in a human meta-rig.
Currently about 1/3rd through the Blender 3d modeling course with half of the ninja finished. Completed the modules on creating the torso, arms and hands.
The model isn't perfectly close to how the course does it but I feel I've learned a lot about the basics so far. If I were to try and get better at this, I think learning more about the human anatomy in terms of muscle groups would be pretty helpful in better modeling. If I don't skip some modules I should be done in the next two weeks . However, I want to move on to learning about character rigging so I an get to character animation sooner so I'll skim the next couple modules and revisit them in the future when I think I need to learn it well.
Looking at all the different skills I need to learn and the knowledge depth in programs such as Unity and Blender, I'm really realizing inside how much there is still to learn.
I've decided that my next project will be a VR 360 version of Little Red Riding hood. To make this next project better I've decided to do some online courses on 3D Character modeling in blender. So far I've done a few simple blender courses to learn how to use the basic tools as well as modeling simple objects like furniture.
Based on my current progress, at fastest I'll maybe finish mid October but I'm going to aim to at the latest finish by the end of the month. Here's my current progress with the head of the Ninja.
Afterwards I should probably do a course on character rigging so I can set myself up to learn how to do some basic character animation as well.
At this rate I'm not sure when I'll get to working on Little Red Riding hood but I'm looking forward to the moment I can purely focus on using my skills to bringing stories into VR.
The Three Little Pigs is my first VR 360 video story telling project and I'm working on keeping it simple to learn the basics. I want to create the minimum assets needed to complete this project and have created a game design/ project outline. The main learning goal of this project is going to be learning unity Timeline and maybe a bit of Cinemachine.
==
Game Design Document
A short story 2 minutes that tells the story of the three little pigs. Characters will be miniature figurines with wood texture.
Assets
Script/Story Board - 1 days
Timeline - 2 days
Models - 7 days
(3)Three Little pigs -
(1)Big Bad Wolf
(1)Straw house
(1)Wood house
(1)Brick house
Character Animation - Blender - 4 days
Audio Sounds effects/ Audio Recording - 1 day
Unity - Putting it together - 3 days
Total days = 18 days
==
As I'm working on creating the 1st asset, Piggy1 model I'm learning that uv wrapping and texturing is what I'm most unfamiliar with and takes the most time. This is an area that could use some additional training and learning.
I haven't started learning how to do animations yet but I think it'll take focus on learning that in the future.
Since the model won't be moving I'll change the character models to look like wooden figurines and this should justify the stiff model animation and save me time.