Saturday, 24 December 2016

Voxel Animation


Voxel Animation
To follow on from the previous post regarding Minecraft and Voxel based designs I decided to look into other Voxel software. I came across MagicaVoxel, fairly easy to use, however, the interface and usage controls are simplified compared to other 3D packages making it slightly confusing to navigate in comparison.

The software has basic animation capabilities, great for frame by frame animation using 3D shapes, however, there is currently no easy way to export each of the frames as animation without exporting each frame individually as an .OBJ.

Basic walk test to see how the software works and feels to animate in. Very similar to pixel sprite animation.



With being able to export the creations as obj files this gives me the ability to potentially create voxel characters and rig them in Maya. I also did some experimentation with creating a scene. Just a simple house on a small scale, but using the tools I can mix different voxel sizes together to give the illusion of detail.



Simple to use, but definitely has the power to create some interesting results. Will be further experimenting with this software in future for small projects.

Monday, 19 December 2016

Animation Production Process 012


Inspiration for Style

I've been browsing through various 3D content on the internet these last few days, namely some of the other LudumDare 37 entries and various features on SketchFab.
Here's examples of a couple that caught my eye and how I've used them as inspiration for my own experiments.

Borderlines
Firstly we have Livio Arango's - El Copete model on SketchFab.
I was interested in this model not only because of the simplistic black and white style but there was also some trickery going on with the outline around the character. This is something I had always assumed to be attribute of rendering but as I looked closer into the mesh, I noticed each polygon existed twice, layered over one another.
  
It clicked, the outer material had 2 sided shading turned off, meaning you could only see the inside of the mesh with the original covering up the back faces. I was amazed and had to experiment immediately. Even understanding how the style works, its mesmerising to look at!


Seems to work well, with black at least. Using a white material cast shadows across itself. I also attempted to render in Arnold but the effect didn't work so well. This leaves me wondering if there is a better way to create the effect.
After further thought, I realised this may not work for complex shapes. I tried to apply it to a character but the effect didn't work in so many ways. I tried a complex shape that is much more simple; a torus.




The borderline works on the outside of the shape, just not on the inside as the inside of the shape requires being scaled down rather than up. Only way I can think that may work is to duplicate the object and extrude all faces, this means that the faces will move in a direction relative to itself, creating an even outline. I imagine this will work well for the torus and will require some further experimentation with character objects.

Voxel
As I was voting on other peoples LudumDare entries I came across TISIC IZIEB by Split82.
A Voxel based game with a grey-scale colour theme with basic squash & stretch animation coupled with some particle effects. I loved how much mood has been created through such a simple style of environment, character and animation.

This has lead me to consider how I could potentially use Voxels in my squirrel animation and whether or not the style would work with my current story idea. Coming into uni I was set on doing 2D and had created a fairly sizeable database of 2D animation reference. Now understanding a lot more about 3D I can objectively look at other 3D animations in the same way I did 2D. I started to think about other Voxel animations I'd seen and I remembered that there was a huge database of Voxel animation on Youtube; Minecraft. First one that comes to mind is Fallen Kingdom by Captain Sparkles.

  

The animation in this is not amazing, however, the mood & cinematography of the shots work great to tell a story alongside the music. Whether you like Minecraft as a game or not, it provides a platform to create environments interactively. You can do this solo or with a group of people and is now especially powerful with tools such as WorldEdit & VoxelSniper. Not to mention it comes with a huge audience. Even after the over-saturation of content on the platform, Minecraft still remains to be popular. Minecraft has set a good foundation that artists can build upon in their own way.

Importing Minecraft into Maya
I found that to do this, I needed a program called Mineways. This is a very powerful when it comes to exporting Minecraft worlds into different file types, though we're only currently interested in the ones that work with Maya. Of course, to truely test this out, I wanted to get back into Minecraft and do some building. Hey, I'm not playing games, this is hard work... It didn't take me too long to build a small set, compared to the time it could have taken to Model, UV & Texture a scene.

Timelapse
1:30:00 consolidated into 3:25 minutes. I kept the build short as this was just an experiment.







I created a small animation using some models I'd made previously to see how it would look to use the set. Quite good fun, definitely learned that its much easier to implement that I had expected. Did require some adjustments to each of the object materials as Alpha maps and such weren't automatically applied. Also had to change the texture filtering on each material to get the crisp edges. Some various other visual artefacts, though spending some time fine tuning a scene should be a enough to fix these. This also goes to show that I don't necessarily have to build an entire set if I keep camera angles in mind.





Saturday, 17 December 2016

LudumDare 37 - One Step Back



LudumDare 37

Is a game jam event that is run 3 times a year. With both a 72 hour jam and a 48 hour compo. Myself and a friend who does programming. We created a game last year in December, however, we ran into some problems. i.e. our programmer slept through the submission period with the latest build of the game in his hands.

This year, learning from our mistakes we decided we'd enter again. I proposed we use 3D software as I was started to get more into Maya, confident I could create all the assets we needed for the game. Because of this we spent the week before LudumDare dabbling in Unity. At least initially it was just my programmer, but he suggested I get the program so I could put assets into the game. I noticed a collaborate feature, this gave us the ability to easily synchronise the same project across multiple computers, allowing me to add and reference objects into the software while he simultaneously adds scripts and code. Having never used Unity, I found it fairly simple after just one tutorial about implementing animation into Unity and some practice. Having to Bake my animation and export just the rig so that once in Unity will pull the skin from the master file, taking into account UVs and skin weights etc. Definitely useful if I ever plan to update the character and also gives me the ability to use the same skeleton on a new skin and still use the same animations. Great for character customisation with different outfits or multiple characters i.e. gender.

In our preperation stages we looked into creating a game similar to that of Banjo Kazooie and we drew mechanical inspiration from that of World of Warcraft. Opening the game myself to see how interactions work and how animations worked. I chose to look into this game as it is something I've enjoyed playing for years and the game demonstrates the use of fairly low poly and clunky animation in such a way that it feels smooth and satisfies millions.

DAY 1 - Theme Release

The event starts and the theme is released. One Room. We spend the first 3 hours or so, brainstorming through conversation, essentially pitching ideas to each other and building on one another's ideas. Starting out we were planning to create a game based on what we tailored our testing to. though as the brainstorming continued we decided on the idea to create the One Room in isometric controlling the character in a point and click manner. We were both happy with the idea and proceeded. This is the time when I start doing sketches to how the game may look and I can build an idea in my mind as to what the game will feel like to play.

 

Using Maya, I was able to create a test concept for how the rooms may transition. Though easy to Animate create in Maya, much more difficult to program into Unity.

The first part I wanted to get done was a a basic character. Reason for this is because it was likely to be the longest aspect of the creation and I also see this as the most important. A character that feels good to play can work in almost any environment. The audience can project themselves onto the character. I jumped into modelling the basic character shape.



UV Unwrapping

 
 

Rigging & Paint Weighting

Painting the weights on the character took a long time as I am still getting used to the process. Once I had finished and was ready to export him into an FBX ready for Unity I encountered an issue that stopped Maya from exporting the joint hierarchy as it was unable to find the bind pose for one of the joints. This baffled me as the bind pose button worked fine and I struggled to find a solution, that wouldn't require rebinding the character. Luckily, however, I was previously aware that I could copy skin weights and did some research into how I might do this. It took a few attempts to get it right. Duplicating Alex and his skin, unbinding him and proceeding to rebind and copy the skin weights. It worked! I was so relieved as I thought I may have to spend another 2 hours skinning him.

 

Using Alex in his bind pose I can now export a .FBX file with the mesh, textures and skeleton in the T-pose which will serve as Unity's reference file for all the animation. Seeing Alex in game instead of the previously used cube, is very exciting! The character is starting to come alive.
#IAmNowFrankenstein

To make the animation process easier for myself. I also hooked the legs up to Inverse Kinematics. Something I had done previously without feet. I did some research and found I needed to use Chain based Kinematics for the foot and I bound those to NURBs circles to help with selection and to move the leg and feet IK's together.




Applying my knowledge from 2D I can now create a walk cycle for my character. From my previous experiences each time I create a walk I further try to add a new element of motion to make the animation more believable and add weight to the character.



Because of Unity's referencing system I can easily update the reference rig file at a later date with these files serving as a basis for my programmer to start adding the character animations. This gives me the time to block in other assets for the game. I started by then creating the room that I had designed. I create my models and UV unwrap them ready for texturing, but as texturing can take time I left them like this so that we could start blocking out the game.

 

All textures are hand painted in Photoshop. Looking back on some of the textures I notice it may have been possible to UV some of the objects into the same space so that I could use the same texture for multiple materials to save on memory. Though being such a small game is not a huge detriment. Some of the textures however, are much higher resolution than what may have been necessary.
Although all the assets exist in this one scene I am able to select the assets individually and use the "Export Selected" option to export them as separate files which allows for fine tuning their position in Unity. This also allows us to use the assets in different ways and apply code to them individually for unique interactions.

    
I started copy and pasting the texture I had painted for the fireplace wood as it worked well for the other wood and saved time. Considering the limited time we had.
Day 1 comes to a close. We managed to get a LOT of the basis for the game done in this first day and for myself the rest came down to polishing and adding extra assets for more interesting game-play.

Day 2 - Extra assets and finishing Alex.

Alex has been running around with base colours for a while and its about time we gave him some extra texture. During this day I experimented with recording my progress and creating a time-lapse of the work I had done.



 


I decided I would look into using Sketchfab so, heres a 3D viewable version of Alex, fully textured. On top of being able to present my work in an interactive manner I have also looked at other peoples work to get inspiration.




I updated the reference rig with hair and eyes separately from the rig I used for animation. This was because of the IK's and various other parts that I added to the animation rig that the reference does not have. My animations once exported work as intended with the updated model.

To further build on the game play my programmer often asks for assets that serve a particular function. In this case he asked for a box, with the setting on the game I thought it would make sense to use a cardboard box. Though we could also use different storage furniture in other situations.

 

This was a nice little test as I wasn't sure if I would do this in a different way so I used the same method as the character. This made me realise that I can rig anything to make it move. Maintaining the ability to update the master reference file for the animations also. I can now make this box do anything. Perhaps when the character walks near to open it, it just flies away, flapping its ... Wings(?).

Towards the end of the day 2 Time-lapse you can see that I started adjusting the lighting in Unity to affect the mood of the scene. Went through many iterations but in the end I decided I wanted to emphasise the fireplace. For this I made the lamps either side cyan to bring out the orange further. The global lighting in the scene is also a light magenta to add just a little extra colour variation.

Day 3 - Everything is, done?

Well no, most of the important parts of the game are done but I have time left, so I need to give myself things to work on, asking my programmer if there's any other assets he'd like in the game. I also have a Uni lecture and a meeting on this day. I was up early in the morning and started with creating the basis for some extra requested models that I then sent to him via the collaborate system. UV unwrapped Book, Bookcase & Table as I didn't have the time to texture them in the morning.
Building them in the same scene for reference on the scale. Because of the amount of time I had left I copy and pasted the same texture across the new assets if I was able too. I did the same for the chair.




Finally, I built a button. I spent a lot of time on this doing some experimental designs. Sadly though, the final button ended up far too detailed and out of style to add to the final prototype. I guess I tunnel visioned during the process and designed it more for up close viewing as though it may be for first-person. The button is separated into 2 objects using 2 different materials. One material is used for the accent colour, this is the neutral grey colour running through the stand and the colour of the button itself, this allows me to tint the material in Unity to colour code the buttons. Both materials also pull from the same texture.




This was a really long weekend. I honestly can't believe how much work I am capable of doing in such a short period of time. I've probably missed some things in this post. Absolutely loved doing this. I've made many mistakes and learned a lot through those mistakes. I've also gained so well needed practice.

Time to Submit

Because Unity is a game engine, the rendering system is not as powerful as what Arnold has to offer. So I used Arnold to create an image for the promotion of the game. Using Mesh lights and various other aspects for the parts that we had yet to implement into the game such as the candle and fire light.






We submitted the game to LudumDare 37
The voting process has finished and here is our score.
Overall place out of #1489. Average rating out of 5.



Using Itch.io to host the game and to give us the ability embed the game in Web.
We hope to develop the game further and eventually release a full edition, until then. Here's the current prototype.

One Step Back - Prototype Build

Friday, 16 December 2016

Animation Principles 2 000

Perspective Sphere

This was an interesting exercise regarding perspective and moving through space. Starting with the layout, I created a circle, an overhead view of the movement that the sphere would be taking. This gives me the timing and spacing and slow in/out for the movement, left and right, though this could still apply to different directions depending on how you rotate the ring in space.


Using this I can create a perspective view of the movement by squashing the circle. Though squashing a circle can be difficult. I myself like to visualise the circle as a sphere, drawing a line that wraps around the sphere surface. This allows me to wrap a line around the sphere in any direction which in theory could allow me to use the same layout to create movements around the sphere in different directions. Perhaps I will try an atom using this method.


Using this guide I established the 4 keys. My method for the breakdowns and inbetweens was to use the guide to add a centre dot to where my sphere would be for each frame. The dot will always be central to my sphere, so I am able to take the drawings off the pegs, line up the dots of the frame before and after and easily draw inbetween.



Overall, I think this went well, the spheres aren't perfectly drawn, but I think they're adequate to demonstrate the test. I believe I should have done slightly more exaggeration on the size of the sphere to help the illusion of moving through space,

Friday, 9 December 2016

Visual Research 012


Extra Class Studies

  

Wasn't quite feeling my drawings, they seemed a little stiff so I transferred to mechanical pencil and my sketchpad.