Monday, 31 October 2011

Captain's Log : Final Entry



Firstly, a bit about the thematic underpinnings of my final animation, entitled Beacon.


Beacon is a counterpoint to my previous project, Jumbleton, and is also a resolution. Where Jumbleton was about a chaotic mind and the resulting distorted perspective, Beacon is about arriving at a place of order, tranquility and understanding. I say arriving, because the ghostly and form-adaptive ship that steadily pilots its way toward the light is representing the concious thought of the person who's mind this is, and it has been a long journey through chaos (with a two night stop-over at Jumbleton to take on supplies). The beacon itself is the point of realisation, epiphany or truth that allows for the serenity that follows.

I have chosen the likeness of a ship rather than something more 'creaturely' because it speaks of long journeys and adventures, and also because I think the ship-lighthouse relationship is quickly readable without as much explanation. It's ghostly and adaptive nature is a clue that this symbol embodies thought and life, and is far from being a literal ship. Again, this being the realm of the mind, things are familiar yet distinctly strange, like dreams.

The environment is an adaptation of Jumbleton, using its furniture pieces to create an orderly space instead. The chairs being randomly placed on top of the table or underneath it helps to break it up a bit and look more natural and interesting, while also adding a metaphorical quiet to the scene. Chairs being put away on tables like that says to me that everyone is gone for the day, it is deserted and silent here. I have tried to strike a balance to maintain the ethereal strangeness without letting it become creepy, which would go against the intended mood.

Secondly, credit for the music track goes to Anzeigen, whose wonderful ambient works I found on Soundcloud. The track used is Eternals.


Lastly, a big hearty thanks to JP, Richard and Elle for making this paper as fun, engaging and challenging as they could. Putting aside the stuffy academic trappings of university teaching in favour of a more personal approach takes guts, and the class surely benefited. I hope to collaborate with you all in the future, if fate allows.

Luke

Sunday, 30 October 2011

Ghostly Ghost Ship

Ghosts need a blue tint, some illuminance, and some glow. Everyone knows that.

Ship Behaviour

I finally worked out all the bugs in the ship behaviour, so it looks shippy now :D

The basic idea is to make it tack towards the beacon (the lamp) rather than approach it directly, and once there, circle the beacon continuously. The algorithm is as follows:

  • Move ahead
  • Influence your turning speed right or left, whichever way points you at the beacon
  • Turn by the amount of your turning speed
Because there is a maximum turning speed, and the amount that it can be influenced each frame is small, this gives the ship very 'heavy' steering. It causes swinging behaviour because the ship effectively has turning inertia, once it is turning in one direction it takes quite a few frames for it to be able to turn back the other way, by which point it is well off the target again.

It will also cause the ship to orbit the beacon, as long as it has a reasonable approach (i.e. not flying straight into the beacon). If the beacon is always to the left, and the max turning speed never allows the ship to turn left far enough to point at the beacon, it will keep trying to and therefore orbit. This motion is intended to say, 'I've arrived', but in a shippy sort of language, where you can't stop moving and you can't just run straight into the target.


This algorithm doesn't require any state changes to do these two behaviours (although could probably be more tightly controlled by having states), it just needs to be tuned so both circling and tacking look reasonably close to what I want.

I had to deal with handedness (the exercises we did set me up well for that though) and a problem of comparing two angles to see which one is 'bigger', when the angles wrap around from 359 to 0 and throws everything off. After many ideas for solutions, and some input from JP, I figured out that my case was a little simpler since I didn't need to find the angle, just know which direction to steer the ship in. So I just tested if the difference between the two angles I had found was > 180, and if it was, it meant I should reverse the sign, because going the other way around the circle was going to be faster, thus the best way to turn to start making these two angles line up. I'm sure that was really hard to follow, but it took a while to figure out so I wanted to write about it! Diagrams would help, but the sketches in my book are probably even more like gibberish than this paragraph.

Saturday, 29 October 2011

BEST CHECKBOX EVER

Can you spot it?

The Ship Skeleton

Here's what the ship looks like without its particles on yet. Actually you will never see this in the final, it will be invisible.


Environment

I'm revising the environment to be both better suited to an animation and to reduce render times. Since I have the chance, I wanted to make a sort of counterpoint to the previous project's wild jumble, and make a sort of calm orderly place with perhaps a blue tint. The owner of this ship of thoughts is finding his way out of the storm, and being led into a place of clarity and tranquility. A hard-earned wisdom.

The whole look is still fairly eerie and ethereal because this is not a place where physical beings walk. It is a place for metaphor and memory, for fiction and philosophy, intangible things.



I can't go back to depth-mapped shadows now, raytracing is just better. And with a really high res depth-map, it's way slower than raytracing anyway on this scene. That last 640x480 render was only 4 seconds, so I should get away with it once my particles are in. It's only a few hundred spheres :D. Also, quadratic decay rate on the point light coupled with sparing use of ambient light to help out the farther corners seems to be a pleasing combo.

Particle Test

I've managed to get the particles to follow a goal object, so making an object out of blocks and setting each block as a target for a group of particles has the effect of making a morphing object made of particles. Once the base object is hidden, the illusion is complete. The particles can be told to collide with other objects, so adding the relevant scenery to this list of collidable things makes an object that morphs around the scenery.

There are some problems with this system, notably that the particles get stuck if their goal objects fly perfectly straight through a perpendicular surface, but this should only happen in my test so hopefully particles won't be left behind once their goal is interestingly animated.