Skip to content

SeriousEngine-1.10.33

Compare
Choose a tag to compare
@SeriousAlexej SeriousAlexej released this 12 Nov 23:46
338ada9

New:

  • Compatible with 1.07!
  • Serious Modeler can now import skeletal animations! (baked into vertex frame animation during the import for compatibility)

Skeletal animation HOWTO

To import a model with skeletal animation, model must be properly weighted and have a skeleton.
If the format you are using stores skeleton in a separate file, you can specify it via following line in script (preferably before the MIP_MODELS directive):

SKELETON <skeleton_file>

This line is optional and probably not needed for formats such as .fbx. If it is not present, skeleton will be extracted from the 1st mip level!

To actually import a skeletal animation, use following directives in your model's script file:

SKELETAL_ANIMATION <anim_name>
SOURCE_FILE <anim_file>

For example:

SKELETAL_ANIMATION MyCoolAnimation
SOURCE_FILE Abomination.fbx

While lines above should be enough, additional optional directives are also available:

  • ORIG_SKELETON <skeleton_file> - Skeleton, used to capture this animation. This directive is useful when current skeleton is a deformed version of original one. Not required unless it is clear that animation looks wrong and fits other skeleton.
  • ANIM_NAME_IN_FILE <anim_src_name> - Name of animation inside specified SOURCE_FILE. This directive is required when SOURCE_FILE contains multiple animations. One must be picked among them.
  • NUM_FRAMES <number_of_frames> - Desired number of frames. Directive is used to specify number of frames to be baked from this animation. Might be useful when correct number cannot be deduced from SOURCE_FILE or when you want to artificially reduce the number of created frames.
  • DURATION <anim_length_in_seconds> - Length of animation. Useful when correct duration cannot be deduced from SOURCE_FILE

Examples of scripts with skeletal animations:

TEXTURE_DIM 2.0 2.0
SIZE 1.0
MAX_SHADOW 0
HI_QUALITY YES
FLAT NO
HALF_FLAT NO
STRETCH_DETAIL NO

;******* Mip models
DIRECTORY Models\SS3Gnaar\
MIP_MODELS 1
    Gnaar.fbx

ANIM_START
;******* Start of animation block

DIRECTORY Models\SS3Gnaar\Animations\

SKELETAL_ANIMATION Default
SOURCE_FILE Idle_02.fbx

SKELETAL_ANIMATION DeathPain
SOURCE_FILE DeathPain.fbx

SKELETAL_ANIMATION Anger
SOURCE_FILE Anger.fbx

SKELETAL_ANIMATION Run
SOURCE_FILE Run02.fbx

SKELETAL_ANIMATION PassTroughWall
SOURCE_FILE PassTroughWall.fbx

;******* End of animation block
ANIM_END

END
TEXTURE_DIM 2.0 2.0
SIZE 1.0
MAX_SHADOW 0
HI_QUALITY YES
FLAT NO
HALF_FLAT NO
STRETCH_DETAIL NO

NO_BONE_TRIANGLES
;******* Mip models
DIRECTORY Models\Test\

MIP_MODELS 1
    Gnaar.fbx

ANIM_START
;******* Start of animation block

DIRECTORY Models\Test\Gnaar\Animations
SKELETAL_ANIMATION RunGnaar
SOURCE_FILE RunGnaar.fbx
ORIG_SKELETON SamSkeleton.fbx

SKELETAL_ANIMATION Melee
SOURCE_FILE Melee_Old.fbx
DURATION 1

SKELETAL_ANIMATION Walk
SOURCE_FILE Walk.fbx
ANIM_NAME_IN_FILE Walk
ORIG_SKELETON SamSkeleton.fbx
NUM_FRAMES 30

;******* End of animation block
ANIM_END

END

Note:

When model contains only skeletal animations, modeler will generate helper triangles for each bone.
That way one can easily use them for attachments. For example, add a weapon to a hand, etc.

If you do not want them to be generated, write following directive in your script file:

NO_BONE_TRIANGLES

These triangles will have a separate material titled <Autogenerated bone triangles> assigned to them. Use it to hide them when they are no longer needed.


Portable version is provided below! To use it with vanilla 1.07 version of the game, simply download the SeriousEngine-portable.For.vanilla.1.07.-1.10.33.zip and extract it into the game directory!
If everything is correct, next to original Bin directory should appear new one - Bin_1.10

Skeletal animation import support in Serious Modeler

Same model with automatically generated triangles per each bone