Back to Content

Animation


CopperCube supports realtime 3D character animation, also known as skeletal animation. This is done using an animated skeleton consisting of joints with a skin of vertices. You can model and animate animated characters using any 3d software, exporting this into one of the following file formats and importing them into Coppercube:

For importing animated FBX files, use Fragmotion or Autodesk FBX converter to convert your FBX models into .X or another compatible format.



Recommended Software for importing Animations


There is a lot of 3d modelling software available for doing 3D character animation. This table lists some of the recommended software and the related exporters:

3D Modelling Software Exporter Comment
Milkshape unecessary Milkshape is a low cost 3d modelling and animation software. CopperCube imports Milkshape .ms3d files directly.
Blender unecessary Blender (tested with version 2.66, download it here) exports directly to .x: Use the command 'Export to DirectX', select 'all animations'.
3D Studio Max Panda Exporter for .x The Panda Exporter is a free plugin for 3D Studio Max and exports animated .x files from 3D Studio Max, which can be imported by CopperCube. Also, see this tutorial on the CopperCube forum for help.
  max2ms3d The max2ms3d by Martin Collberg exports Milkshape .ms3d files from Max, which can be imported into CopperCube.
  CGDev Max .x Exporter Exports your model as DirectX .x file, which can be imported into CopperCube
  B3d Pipeline B3d Pipeline includes an exporter an art pipeline from 3ds Max into the B3D format which can be imported into CopperCube.
  FBX via Fragmotion Export your model as .FBX file, open it in Fragmotion and export it as .B3D.
Maya Microsoft .x exporter There exists an .x exporter plugin (including source in DirectX SDK) which can be compiled for various Maya versions.
  FBX via Fragmotion Export your model as .FBX file, open it in Fragmotion and export it as .B3D.
  XExporter XExporter by Markus Bergqvist, works with Maya 7.0 and probably down to like 4.5.
  cvXporter cvXporter is a DirectX .x file exporter for Maya. Starting with 1.1 are written with Python and will only work with Maya 8.5 and above.
Cinema 4D various There are some useful tips on how to get Cinema4D animated meshes exported to CopperCube in this thread in the ambiera forum.
Other   There are other tools and other exporters available on the web which can export to .ms3d, .b3d and .x files. If you want to add it to this list, simply contact us.


Importing and Editing


To import an animated character, use either the menu File -> Import -> Animated 3D Mesh or Click the 'Import animated Mesh' button on the 'Scene Editing' Tab.


Editing the displayed animation of an animated mesh



In the properties window of an animated mesh, you can set the correct Frames Per Second value changing the animation display speed, and set the name of the displayed Animation. In the beginning, you usually only have two animations to choose from: 'All' and 'None'. To define more animations out of the 'All' animation, you can select the 'edit' entry to open the Animation Editor. Alternatively, use the menu command 'View -> Show Animated Mesh Editor'. The editor will open up and look like this:


The animation editor



When selecting the 'All' animation, you can set the default Frames Per Second value in the right lower edit box. For adding a new Animation, simply click the '+' button and edit it's properties. In the example below, we defined the walk animation to go from frame 1 to 19, for example:


Defining an animation



After defining this animation, you can select it in the property window of the animated mesh to be played back, or using setSceneNodeAnimation(node, "walk") in ActionScript 3 or ccbSetSceneNodeProperty(sceneNode, "Animation", "walk") using JavaScript.

Using the context menu in the Animation editor, you can reload the animated mesh from disk, create another instance of that mesh in the scene, rename the file, and other additional features.


Context menu in the animation editor




Animation Blending


Since version 5, CopperCube blends animations when switching between them. This feature is automatically enabled, but can be turned off or adjusted for every animated model manually in the editor or via script.
This also means that you don't need to create perfect animation loops. The engine will automatically blend non-fitting animation loops together so that they look nice.
Uncheck the box 'AnimationBlending' in the Property Window when your animated mesh is selected, to disable this feature. To disable this feature using JavaScript, do it like that:

var s = ccbGetSceneNodeFromName("yourModel");
ccbSetSceneNodeProperty(s, "AnimationBlending", false);

You can also change the animation blending time in the same way, use the property 'BlendTimeMs' for this then.



Node attachement


Since version 5, CopperCube is able to attach any type of scene node to a part of an animated mesh:


A weapon attached to the right hand of an animated model


You can attach anything, from meshes over billboards to particle systems to a joint of an animated mesh. In order to do this, do the following:

Note: Some of the animated meshes you can find as prefabs in CopperCube have their joints set up so that they have a negative scale, resulting in attached object to look inverted. You can correct this by setting the scale of your attached object to (-1, -1, -1).