Greetings! Okay, so this news post is going to be a little long. I wanted to post basically everything you wanted to know about animations but were afraid to ask. I’ll discuss the different type of object animations in The Sims, how blueprint creates them and how you can create your own animations. Some of this I’ve discussed before, but it seems like a good time to really get into the details so you can create new animations with blueprint. Okay, you can’t actually create new animations without altering the DrawGroups in the object. What’s a drawgroup? Read on.
First a little setup about how the Sims objects are put together and some terminology. Each object contains something called DrawGroups. These DrawGroups visually represent the state that an object is in. For example, the aquarium object contains 25 different states. These range from just the aquarium itself, various live fish states, feeding states and dead states (as well as each of those having a dirty counterpart state when the tank is dirty. Fish still swim, eat and die even if the tank is filled with crud). You can imagine that having 25 different images of this wouldn’t be a big deal with handle but multiply that by 100 objects and managing this becomes a bit of a nightmare. So a DrawGroup represents a graphical state of the object, but is really composed of various Sprites. When you breakdown the aquarium object you only have 14 Sprites. These are combined to form the various DrawGroups. For example, there is a sprite for the aquarium itself and this is re-used for each of the 25 drawgroups. So there’s only 14 images you have to deal with right? Not quite. You still need to deal with the fact that you have 3 zoom levels in the game. As well, some objects have various rotations that are pre-rendered (anywhere from 1-4). So each Sprite contains a number of SpriteFrames. How does this part relate to blueprint? In blueprint, you tell the program to replace the individual Sprites. It in turn, figures out how many frames (zooms/rotations) it needs to generate and builds the individual SpriteFrames and inserts them into the IFF file. blueprint doesn’t do anything to the DrawGroups so animation sequences are maintained. A future version will however, so the ability to add new animations or alter existing ones is just around the corner. In the meantime, you have to make due with the existing animations but you can replace the Sprites that are used to create those animations. Confused? Read on.
Now that we know how things work, there are actually two types of animations going on in objects. I call them static animations and kinetic animations (my terms). Static animations are where the objects generally doesn’t move around and things usually appear or disappear to simulate animation. An example of this would be the food preparation object. It doesn’t really do much, but as your Sim continues to prepare food, various things appear or disappar (and there might be some moving around but very little). The other type of animation is kinetic animation. This is where the Sprite (or Sprites) in the object are moved about the screen to simulate animation. An example of this is the rocket object, where the rocket itself zooms up into the sky. blueprint allows you to replace the Sprites in an object and since each Sprite is used for a frame of animation, you can create new animations with blueprint and a little ingenuity. For static objects, this is something that can be accomplished with the current version. The process would be to select the Sprite you want to replace, click on the “Replace this Sprite” checkbox and then select the meshes that will be used to visibly replace the selected Sprite. This allows you to have meshes in your scene that will not be visible in the final Sprite during export. For example you could create a psuedo-wall using the Plane primitive and use that for reference in creating a new painting. Then in the Sprite Editor, you just uncheck the wall so it doesn’t appear in the final output. This works fine for static animations and you could even use it for some kinetic animations. If you wanted to replace the rocket with a remote-control airplane (I’ve seen someone working on a toy plane that gave me this idea) you could import a mesh of an airplane, scale it down to the right size, duplicate it a few times and in each sprite for the various stages of the rocket, set a different copy of the plane to be visible (each copy would be in a different position simulating flight as well). This is very inefficient and troublesome however, since you need a fairly powerful machine to handle so many polygons and if you wanted to replace the texture on the wing of the plane, you would have to do it on each copy. Not a fun job.
There is hope however. On the horizon is object animation capabilities in blueprint that will allow you to have as many frames of animation as you want (in the 3D side of things). Then it’s a matter of creating one object, changing the frame number in blueprint and repositiong it and using the different frames as well as the visible list to generate your new Sprites. This is currently in testing and should be availble in a few weeks. At that time, we’ll take something like the aquarium object and turn it into a kinetic sculpture that revolves all day long (I choose the aquarium because it’s autonomous and doesn’t require the Sim to interact with it in order to make it animate).
I hope that explains some things about objects, animations and where things are going. There are also other great things happening with blueprint. I’ve taken on a new developer to handle some new functionality and there are plans for new editors and various other tools that will truely make creating and editing content for The Sims a fun thing. Stay tuned!