Wednesday, 19 November 2014

Nuke Baby Nuke

Another assessment post. Last one for now, I promise.

Nuke has become real fun over this course although I wish I figured out my dynamics earlier so I gave myself more time to comp, Future lessons.

 A blog post wasn't in the assessment description but I have to get used to this blogging thing a little more cause I'm always forgetting. The good news is because this isn't an official hand in blog post I don't have to get detailed, in fact I'm not gonna get detailed at all. Yep thats right I am just gonna ramble on about nothing and see how long you continue to read it thinking you may get some valuable, life enhancing knowledge about my experience doing this assessment. You won't find any of that here, no, but you will find a screenshot of my script taken so far away all you see is the pretty colours of the nodes.


You're still here?

Ok, ok I better teach you something for sticking around against all good judgment. You must be bored...I've been there broski. Here is the video of the comp I ended up with which looks way better on my badass cintiq than a normal monitor.

What have I been taught? I hear you asking. Well you, my friend have just discovered that Rick Springfield makes fantastic music. 'Sign of Life' from his Songs For the End of the World  album is playing on that video and that album has just entered your shopping list.

You're Welcome

Stay Frosty

Tuesday, 18 November 2014

Programming Assignment

Alright so here is another assignment post. This time it is the magical land of programming. The assignment required the creation of a script and the explanation of said script.

Script Overview: The script I made randomises vertices's on a mesh and places them at random co-ordinates each time it is run. I choose to go with this script  as I didn't want to go to complex and cause myself frustration.

Development Process: The first thing I did was create the 'for' statement that would grab all the verts on the mesh and move them to a random co-ordinate within a delegated range. When I had that all working I put the 'For' statement within a proc and created a window for it to pop up in and allow a button for the user to press to run the script at anytime. Below is the script as I made it.

//select the mesh you desire to randomise the verts on and run script
//Click button with mesh selected and BAM the verts randomise

if(`window -exists rVerts`)//Checks to see if window exists
deleteUI -window rVerts;//If the window exists it is closed

window -title "Randomize Verts" //Puts a title on the window
       -widthHeight 100 100 //Width and Height of window
columnLayout;//The type of layout of the window
button -label "Randomize" -command randomVerts;//the button name and command it will execute

showWindow rVerts; //shows the window

proc randomVerts()
$Selected = `ls -sl`; // this line lists the selceted objects and defines what $selected will do
$myVerts = `getVerts`; // this line grabs all the vertices of selected objects and puts them into a string array represtented by $myVets

         for ($vert in $myVerts) // this line says for every Vertice selected in the array of $myVerts to run the following commands

         float $randNumX = rand ( -0.5, 0.5 );//this line defines how many units the verts will randomly move vertices in the X axis
         float $randNumY = rand ( -0.5, 0.5 );//this line defines how many units the verts will randomly move vertices in the Y axis
         float $randNumZ = rand ( -0.5, 0.5 );//this line defines how many units the verts will randomly move vertices in the Z axis

         select -r $vert ;//this line replaces the mesh selection with the selection of the vertices within the selcted mesh
         move -r $randNumX $randNumY $randNumZ ;//this line moves the verts randomly according to the values defined above
         select -r $Selected; // returns or reselectes the previously selected object
Reflection: Being my first experience with programming I am quite happy with the script I have created. The course, along with the text book MEL Scripting for Maya Animators by Mark R. Wilkins, Chris Kazmier and Stephan Osterburg , gave me a basic understanding of MEL programming which I believe will be extremely valuable in the future.

Stay Frosty

Sunday, 16 November 2014

That UFO Project again

Alright, alright it is time for another post about the UFO project. There is still some comp work to be done but I have until Wednesday to toil away in Nuke. This is just to focus on the Dynamics aspect. The first post showed the work in progress shot I submitted for feedback.

A quick rundown of the feedback went like this:
  • The outer cone was to still and needed more particles
  • The beam of light that came down was good but re-timing needed to be considered and a colour change was necessary
  • The particles in the middle where out of place
  • Consider change the middle particles to a beam or something that reaches the man instead
  • Consider more rings of light
I tried to address these issues in my new submission which will be shown shortly so calm down. First i will outline the way I went about trying to address these issues.

With the outer cone I added more particles, added rotation to the geometry that i was emitting off and used a volume axis field to added some more movement and separation.

The ring/beam of light was re-timed and colour corrected in Nuke instead of re-rendering. Time saving at its finest.

I changed the particles in the middle to be tighter and flow all the way to the ground, also adding a glow effect.

I tried some pulsing rings of light but i just couldn't get them to look good enough so I scrapped them.

Below is the video. No music on this one but I promise there will be some rockin' tunes on the updated comp.

Overall I'd say I learnt a lot through my first journey into the world of dynamics. Am I happy with the final result? Not at all but live, learn and be better next time.

Stay Frosty

Monday, 3 November 2014

Dynamic Floating Man Tutorial

Remember that assessment that was mentioned in the earlier post? Yeah that UFO one mentioned here. Well this tutorial is also apart of that assessment. The idea is to be able to have the mannequin model float up to the UFO dynamically.

Bullet will be used to achieve this effect so it will need to be loaded before attempting this tutorial. If you don't know how to do this go into Windows>Settings/Preferences>plug-in manager and load Bullet as shown below.
Now that that is taken care of we can start the tutorial.

1. Load up your Mannequin

2. Create joints for the Mannequin model (animation tool set: Skeleton>Joint Tool)

3. Bind the mesh to the joints (animation tool set: Skin>Smooth Bind). At this point you can paint weights on the mesh to have it deform better.

4. Select the joints and from the Bullet menu select 'Create Rag doll from Skeleton and you Will get capsules around the joints.

5. Create a ground plane to test the collision on the capsules. With the plane selected use the 'Create Passive Rigid Body' option.

6. Press play and the capsules should fall and collide with the ground plane. If they explode then your joints starting point is intersecting the ground plane so move it so they don't start of intersecting.

7. Now to make the joints follow we need to Parent Constrain the capsules to the corresponding joints using the below options.

8. When play is pressed now the joints will follow the capsules.

9. To get it float up go into the bulletShape node and change the Gravity option to 9.8 in Y in the basic fields options. Press play and the Mannequin will float up.

 10. Now that your Mannequin is dynamically floating you can select the capsules and go into their bulletRigidBodyShape and tweak the forces/impulses options to make joints react differently to the gravity.

There you have it. A dynamically floating Mannequin.

Stay Frosty