Category Archives: Glamorgan

March 12, 2013

The elephant’s trunk was one of the most challenging parts of the rigging. I knew I wanted a simple FK trunk, and I knew I wanted a trunk with dynamics. However one of my animators had also informed me they wanted an IK spline trunk to animate with as well. As such, I needed a trunk that could switch between any of these, and more importantly, blend between any of them to any of the others. My desire to allow the trunks to blend meant I couldn’t simply use an “enum” attribute to change the parent constraints as this is an “all or nothing” attribute. Theres no way to have half of one and half of another. I also decided I couldn’t use a single “float” attribute with one of each of the control types at -1, 0 and 1. There would be no way for me to blend between the two trunk control types at either end (-1 and 1). They would only be able to each blend with the control type that was at 0.

Eventually I decided to use two different sliders, one that would blend between FK and “other” and a second that would blend between IK and Dynamic. This second slider controlled what the “other” was. In order to do this I had to create four duplicates of the trunk bone set up. I had an FK duplicate, an IK duplicate, a Dynamic duplicate and the “other” duplicate. The deform trunk was parent constrained to both the FK and the “other”. I then wired up the FK/other attribute to control which parent constraint was in use. The “other” trunk was then parent constrained to both the IK and the Dynamic and these parent constrains were wired to the second IK/Dynamic attribute.

It meant spending a huge amount of time in the Hypershade, wiring up various items. It was extremely time consuming as I had to organise items in the hypershade so I could see what was parented to what and where the wires actually needed to go. Its definitely the largest wiring system I’ve created when rigging so far.

Trunk01a

Trunk02a

Trunk03a

Having achieved the ability to blend between any of the different control systems, I needed to actually work out how to create a dynamic trunk. I watched a variety of tutorials and read a load of sites before deciding what I felt would be the cleanest, and simplest, way of rigging it. I applied another IK spline to the trunk and then duplicated the spline curve. This duplicate would be the input for my dynamics. So this was the curve that I had to create controls for. I made them in the same way as I did for the trunk, by creating clusters for the various points along the curve and parent constraining the clusters to controllers. I then applied dynamics to this duplicate curve which created another two curves in the process. One was the dynamic curve, and one was the output of the dynamics. The final step was to make this output curve control the original IK spline. I simply applied a blendshape to the spline, turned it up to 1 and locked the attribute so it couldn’t be changed or broken.

Working with dynamics is slightly strange though, as the dynamics only update when Maya plays the animation. This means you can tweak the starting position of the trunk, but it doesnt actually move the mesh (or the bones) until you press play. I think it unlikely the animators will want to ever just have a dynamic trunk, but I feel it may be nice to blend with some FK animation to add some extra secondary motion to the trunk.

Finally, I created some extra attributes so that the animators can edit the flexibility and stiffness of the dynamics and so affect the way Maya calculates the shape of the output curve.

March 3, 2013

All of the filming is now done and I have the footage from the first shoot, some of which is absolutely brilliant. This has got to be my favourite shot:

Shot04_77

I just love the depth of field.

The second day of filming wasn’t nearly as cold as the first, and even with only two of us, we were done by lunch time. A huge chunk of our time was actually spent simply waiting for all the delivery vans to leave so that the streets were less cluttered. The final shot was probably one of the hardest to set up. I wanted to catch some footage of a flock of pidgeons being startled and flying away. In order to encourage them all to congregate in the first place, I scattered a small handful of bread crumbs across the pavement. It was a good 10-15 minutes before the first pidgeon found them, but once it did, the rest joined within a minute or two. Now all we had to do was scare them and manage to film them taking off. The first couple of attempts ended with me accidentally running in to shot, but after some practice I worked out where I had to stop. Sadly we couldnt move the camera fast enough to pan with them, so eventually we just settled on them flying out of shot.

It feels great to know that the stress of filming is hopefully over and all I now have to worry about is the digital side of things.

February 23, 2013

So, it finally happened. Yesterday was pretty intense and incredibly cold. Apparently one of the weather sites quoted Cardiff centre as being at about -6C (with windchill). It was absolutely bitter. I felt ever so bad for Rachel, Dylan and Hazel, and indescribably grateful that they had come to help despite the icy conditions.

We decided to get the biggest and most complicated shot out the way first, before Rachel, Dylan and Hazel arrived in Cardiff. Amy (my graduate compositor) and Jon (my 2nd year Motion Design cameraman) were an incredible help throughout the day. Helping me to judge camera angles for the best shots.

SONY DSC SONY DSC SONY DSC031

We spent some time setting up outside Cardiff Library before we finally got the green screen out and set to work. It was great fun, but since I managed to land the job of running from the elephant, it got tiring quite quickly. All too soon I needed to go and pick up Rachel and her kids from the station and I left the rest getting a few more takes of the elephant shot as well as some crowd shots and general reaction shots.

Once we got back I sent everyone but myself, Amy and Jon back to uni to warm up as Dylan was feeling shy and didn’t like such a large number of people. Dylan was an absolute natural. He rarely looked at the camera and he got almost every shot right first time. What a fantastic little star.

By lunch time we had got every shot we needed and I sent Rachel, Dylan and Hazel off to have some lunch and warm up whilst we got a few more shots with the monkey toy. In the end, Dylan didn’t want to take the monkey back home with him, so he now has pride of place on my desk.

073 082

After a stop in the union for lunch, we headed out to try and get some more shots. However it was getting a quite overcast and dark, even at half two, so I think it likely we will have to reshoot those. We finished the day with just two shots we hadn’t managed, and possibly an extra one if the afternoon ones turn out to be too dark.

089

Whenever we filmed something that would include the elephant, I made sure to take a set of photos of a chrome ball at various exposures. These will be used for the lighting in Maya. My chrome ball was a bit smaller than ones I have used in the past, and the camera’s zoom quite small, so I will have a bit of work in photoshop getting rid of myself and the camera in each shot.

SONY DSC SONY DSC SONY DSC SONY DSC SONY DSC SONY DSC

February 19, 2013
Posted in: Glamorgan

The basic rig is now complete, which means I can now create the deform test and actually skin the low poly mesh to check how everything deforms.

Deform Skeleton

It was such a relief to finally be doing something that felt constructive. My first step was to build the deform skeleton. This is the set of bones that the mesh will be skinned to. It is important to get the bones placed correctly so that joints bend in the right place and the deformations of the mesh are as natural as possible. With the skeleton built, I used comet tools to help get all the bones aligned correctly. This ensures that the axes of rotation are where I want them to be, and therefore the rig will be easier/neater to use.

At this point I also made sure all my bones were named correctly. Every joint name starts with either C_, L_ or R_. This denotes whether the bone is down the centre of the body (C_), on the left hand side (L_) or on the right hand side (R_). This is then followed by the name of the bone, and possibly a number (ie spine01 or trunk03). Finally, every joint ends with _jnt. A good naming convention is essential when rigging as it makes things much easier to find with a search tool etc.

IK Spline Spine

Once everything was named correctly I set to work creating a control system for the spine. I used an IK spline set up. To avoid causing problems and having to rebuild the deform skeleton, I duplicated the spine and placed the IK on the duplicate. I could then parent constrain each individual IK bone to its equivalent on the deform skeleton. This causes the deform skeleton spine to do whatever my IK spine does. I chose to create an IK spline with just two spans. This means the spline has three control points: one at either end and one in the centre. I turned these into three clusters which I could then parent to various controls.

IKspine01a

I created a simple cube control for the hips and shoulders of the elephant which I deformed slightly so that they fit the contours of the elephant slightly better. I then parent constrained the corresponding clusters to these controls. I used a simple circle for the middle of the spine and again parent constrained the centre cluster to this control. This provided a way to control the spline curve and so control the bones. However, if a control was moved too far away and the spline curve became too long, the bones did not stretch and so only covered part of the curve.

This was an undesirable result, so I set up a fairly simple wiring system in the hypershade. I created a node for the spline curve with a single attribute: the arclength of the curve. This value changed whenever the curve changed, meaning I could always know how long the curve was. Using this changing value, and the curve’s original length, I set up a divide node that would calculate the current length divided by the original length. Then I used a condition node that was connected to the x-scale (length) of all the bones in the spine. If the curve was the same length or shorter then the scale of the bones remained at 1. However if the length of the curve was ever longer than its original length, the scale (length) of the bones was changed from 1 to whatever the divide node calculated. This meant if the controls were ever moved too far apart, the bones would scale and still fill the entire curve.

IKspine02a

However, I discovered that while this worked really well when the curve was long, it didn’t work very well if the curve got too short. Some of the bones started flipping to try and remain within the length of the curve. As such I decided to completely remove the condition node and simply wired the divide node straight into the x-scale of the bones. The spine now stretches and contracts brilliantly.

IK leg

The next step was to create an IK leg set up so that the legs could be easily animated. I debated for a while which two bones to put the IK on before deciding it definitely needed to be shoulder->wrist/hip->ankle. Like the spine, I duplicated the deform bones and applied the IK to the duplicates. I created a foot controller which was, again, a slightly deformed cube. I parented the IK target to this controller and orient constrained the ankle joint. This meant that I could move the controller and the leg would bend, but the foot would remain in whatever orientation the controller was in. Finally I added a controller to move the top of the leg around. I then repeated this for all four legs.

BacklegIK01a

The rest of the body I decided to keep simple for this basic rig and I used simple FK set ups in the neck, head, trunk, ears and tail. With all the controls complete I decided to try and make the rig clearer to use. I started colour coding my controls; green for left, red for right, cyan for anything down the centre. I also made a centre of gravity controller which could move both the hips and shoulders at the same time, in case the animators wanted some FK control from the hips. This I coloured yellow to make it stand out.

BasicRiga

However I decided that the cyan was too close in colour to the “selected” colouring that Maya uses. As such I changed things again:

BasicRig02a

February 17, 2013

I finally received a low poly model from Paul that I could start rigging. At this point, what I really want to check is how the mesh deforms, especially around the legs. As such I plan to build a deform skeleton with some simple controls that will allow me to create a quick deform test so that I can skin the mesh.

The low poly model is looking pretty good, and its definitely nearly complete.

06  07

I have however warned him that we will likely need to change where the mouth meets the head, as currently it is quite square. Left like this, the corners of the mouth won’t close properly. As such, I’ve asked that he try to turn that square flat edge into a sharper corner.

I feel like I am banging my head against a brick wall whilst trying to organise the film shoot. I originally wanted all my footage shot by the end of January, or at the latest, the first week of February. Well, thats all out the window now. Its not going to be shot until the end of February, which, of course, throws my schedule out the window. I feel a lot of this is simply down to the fact that getting hold of Motion Design has been “interesting”. I never seem to get replies to my emails, although I have at least established they are getting read. Im not sure if knowing they are being read and then ignored is more or less frustrating than them not even being read.

The past two days have left me feeling drained and panicked after it seemed we would have to do an emergency last minute shoot to get as much footage as possible with only a day and a halfs notice. Gareth, my tutor, had helped me organise a meeting with some of the Motion Design course for the 18th February in order to do the filming on the 21st/22nd. However I was then informed that this clashed with the annual Ffresh festival, which the Motion Design course is often quite involved in. Unable to get any response or confirmation from Motion Design as to whether this was an issue or not, I started trying to make emergency plans to film today (which at the time was less than 48 hours away). My graduate compositor advised against the whole situation, certain that last minute shoots never work out. This of course made me feel worse since noone was really presenting me with any other options, and shooting couldn’t be pushed back further as my animators are meant to start animating at the beginning of March.

Thankfully, it turns out my worry was for nothing and the students involved in my filming would unlikely be attending Ffresh on the Friday 22nd. As such, the last minute shoot was scrapped and I was able to breathe a big sigh of relief.

My artist has been creating a low poly version of the elephant for me. I am trying to see the model as often as possible so that any mistakes or problems can be caught early and therefore minimising any time wasted. This method of checking in regularly has been great and has already caught several issues that have been rectified as soon as we found them.

The very first model had some fairly major flaws, and in the end we decided it would be best to scrap it and start again.

01  03  02

The model was out of proportion, with legs that were too long. The front leg was also too far back, causing the head to seem stretched or out of position. The long legs also made the body seem too thin. The legs did not go far enough underneath the body, leaving the impression that they were thin sticks coming out the side of the elephant, rather than the strong sturdy supports they really are. I also advised my artist that the mouth would need to be more complex than just some extruded polygons.

He provided me with the new version the next day and despite it being lower poly, it already looked stronger. The proportions are far more accurate. I did however advise him to keep the trunk as straight as possible so that it will deform in every direction as well as possible.

04

The following day he had continued working with the elephant, defining the legs and body more. Its now beginning to really take shape and I can begin to picture what it might look like finished.

05

I have advised him to keep an eye on where and how the joints in the legs bend, as well as ensuring there are enough edge loops where the legs meet the body.

January 29, 2013

We had another compositing project last term. Whilst the technical side of things were very successful, the animation suffered. It left me content with the idea that my interests, and skills really do lie more with the technical side of things. Although its really satisfying to produce an animation that works and looks great, I just cant seem to do it as quickly or easily as others on the course do. I can pose the model, create some really strong poses and silhouettes for the camera. However when it comes to linking things together and getting it smoother, thats where I struggle.

The camera tracking was really successful for this project, mainly, I think, because of the location and contents of the shot. There were lots of trees at multiple distances from the camera. This provided Boujou with lots of large tracking points the calculate the cameras position in every frame. The success of the camera tracking really helped to make it feel as though the raptor was there in the shot.

Unfortunately, the camera that we used just wasnt good enough quality for the project. The final video had compression artefacts and the low quality lense meant the footage was grainy and blurred. This meant that when I came to composite the raptor into the scene, I really struggled to make the crisp CG render look as though it were as blurred, grainy and unclear as the original footage. I added several different blur types as well as a grain. Sadly, what I couldnt see in the playback in after effects, was that the grain I added actually changed every frame, causing it to appear animated and making the raptor appear slightly sparkly.

YouTube Preview Image

 

I used the Dino Rig for this project, which I got from Creative Crash: www.creativecrash.com/maya/downloads/character-rigs/c/dinorig

January 23, 2013

So, the production section of our major project has officially begun. Eeep. Time has flown by, it feels like no time at all since I was starting my major project in 2nd year.

Our final major project is broken down into four chunks, each four weeks in length (giving a total of 16 weeks production time). Three of these four chunks will be used to create a VFX insurance advert that I will be directing. Two of the three will be mainly directing, with some lighting, rendering and (probably) camera tracking where necessary. The third chunk will be for rigging and skinning the elephant model for this advert. My final chunk is a much smaller collaboration. I will be rigging a “toony” monkey modelled by one of the second years. Another second year will also be animating it.

Right now, I am trying to coordinate with the Motion Design course to get some help with filming my footage for the advert. They have a lot more experience of filming as well as access to much better equipment. The third years have shown little interest in getting involved, but I have been reassured by staff that I should be able to get some second years involved instead.

October 24, 2012
Posted in: Glamorgan

So, term started a few weeks back, and after a week of throwing around possible ideas for major project things actually got going. This project is all about learning new skills; specifically Maya skills. Gotta say, bit of a shock to the system. Whilst I can see the potential Maya clearly has, there is a part of me that loathes it every time I try to do something. Why must clicking on things be so difficult?! That, really, is my number one pet peeve. Trying to select items in Maya feels a bit like bashing your head against a brick wall. You click, Maya laughs to itself, knowing you were one tiny pixel from success and promptly does the exact opposite of what you wanted.

None the less, I do seem to slowly be getting to grips with all its little quirks and slowly but surely some progress is appearing in the project. That being said, Im still behind schedule, so its not perfect yet.

For the first week we spent some time doing some reasonably simple ball animations, just to truely get to grips with animating in Maya and how the program works. This second week is when things really got going. Rigging and animating. However, since I have very little interest in bipedal and character animating, my course leader has changed my brief up a bit allowing me to spend a larger period of time on rigging and then a short bit of animating. It took a lot of tutorials, and a huge amount of frustration as I hit brick walls where my knowledge of the program ran out, but I have finally managed to complete a nice little horse rig. Now I just have to animate a walk cycle with it! Before attempting the horse I did quickly complete the “ball with legs” rig that the rest of the animators are doing to ensure I had a reasonable understanding of the rigging basics in Maya.