Animation: Basic method?

Hi all,

I’ve made a few models in Qubicle and am trying to figure out how to animate them.

I suspect the pre-process goes like this:

  1. Model your critter.

  2. Break the model into various moving parts. Have each part be in a separate matrix.

  3. Export as an .obj file.

  4. Import to an animation program like 3dsMax or Blender.

  5. Create a skeleton, rig the model to it, etc.

Is this correct?

im by no means an expert, but that sounds about right… have you watched the twitch streams, where Tom went through most of the necessary steps?

1 Like

I haven’t watched it myself but they’ve got a video on their twitch tv channel here. They do say though that the final process is expected to be different. You’re steps seem right except possibly the file format as some stuff about issues with it was mentioned somewhere.

I missed the live streams, unfortunately, which is part of why I have to ask. :confused: Tried to find instructions around the forums but really only found hints.

I found their channel, but… there isn’t any video there that I can see? I just get an ad followed by an “OFFLINE” notice.

There should be a list of videos on the right, if you can’t make sure you’re looking at the videos as it defaults to the chat. Buttons to swap are at the top right.

…Even if he couldn’t figure it out before, @SteveAdamo just gave him direct links to two of the videos. Yet his comment - the one where he quoted the words from Steve’s post with the information - implies that he is still lost on how to find them.

I am confused.

1 Like

This is more or less correct.

There are some important things to consider (from what I gathered in the videos):

  1. When splitting your Qubicle Model into the different movable parts. This is to be done by copy-ing your current matrix, then only leaving the movable part in the new matrix, and delete that part from the original matrix. => Note: both matrices are the same size in the end. This is important due to the current approach the guys are using to export/animate.

  2. In the 3D Tool, you don’t actually create a skeleton. You “only” position the pivot points of each movable part, so it rotates around the correct point. This info you export later as the “rig”. After that, you animate the parts (rotating around those pivots, or translating the parts). When the animation is exported, the positions of all parts and the rotations (around the respective pivots) is exported.

The animations are played (within the game) at 30 frames per second, and the engine interpolates between those 30 frames.

1 Like

When you are on twitch, look at the right hand side. You have a chat window, and at the top one tab says chat, the other says videos. You click videos to get a list of the archive, or click the direct links in this thread.

In addition to @djc’s second point:
In the stream they organised the parts of the model with parent/child relations. I’m not sure if that relation is saved in the file format or if the result is turned into a rotation/translation/scaling for each part.
They also used a helper-object, as top-parent, to symbolize the position on the ground, so if the model jumps it moves up in relation to the helper-object.

/Facepalm. Not sure how I missed the videos on the first pass through there. I think I tried to pause the ad and the site objected somehow. Anyways, thank you for the pointers guys.

Actually the whole parent/child relationships (which are created in the 3D tool) are merely for the animation. This information is not exported in any way, since it’s not necessary. All animations happen for each individual part according to that parts original position and the rotation around it’s pivot.

Checking the stream again it seems like you’re right.
I was really puzzled there for a while and didn’t understand how they could get correct rotations without saving either the parent/child relation or the whole transformation matrix. Then I noticed that they are actually saving the rotation and position for each frame and not just the key frames and it all made more sense.
Still, I wouldn’t have thought that it was don’t that way, but maybe that’s the standard way in games? Saves processing power as long as it is played in the original speed, though if you want to change the speed of the animation (if workers with higher skill works faster for example) you would still have to interpolate between frames.

Aaah! And you don’t have to save information about the interpolation, to make it smooth and faster/slower at the start and that sort of things. Ok, I see frame by frame has its benefits. :slight_smile:

Exactly, I guess that’s the advantage. You could use some really nice, tweaked curves in your animation (in the 3D Tool), and the animation would play exactly like that in the game without use of any curves.

For some time I was wondering myself, if I in some way would have to export the parent/child relationship…but then it dawned on my why this wouldn’t even be necessary, since the animations are described in absolute position/rotation values and not relative to the parents.

1 Like