Skip to content

Releases: SeriousAlexej/Serious-Engine

SeriousEngine-1.10.43

08 May 19:42
2cf7d0a
Compare
Choose a tag to compare

Video Demonstration (YouTube, clickable)

Feature Showcase

New:

  • Compatible with 1.07!
  • Engine now supports A LOT more image formats for texture creation (such as PNG for example)
  • MAJOR usability improvements for Serious Modeler:
    • Model Configuration UI has completely replaced script editing, all animations and animation frames can be added with a few clicks
    • ESC Fly mode has been added
    • Attachment models can be automatically aligned with proper bone triangles
  • Serious Editor improvements:
    • Take Ammo, Give/Take Weapons properties now have user-friendly UI

Bugfix:

  • Fixed improper skeletal animation importing when weighted mesh shape in rest position does not match shape without weighting
  • Fixed crash in Serious Editor when locating Spawner template target
  • Fixed Browse Entity (N) dialog in Serious Editor being too large
  • Fixed broken environment particles rendering

SeriousEngine-1.10.39

07 Feb 23:35
568962c
Compare
Choose a tag to compare

Experimental upgrade of entities export (for Serious Engine 3.0+)

SeriousEngine-1.10.33-bugfix

15 Nov 15:27
a66d444
Compare
Choose a tag to compare

New:

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

Bugfix:

  • Greatly optimize model importing
  • Fixed broken mip model UV map generation

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.36.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

SeriousEngine-1.10.33

12 Nov 23:46
338ada9
Compare
Choose a tag to compare

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

SeriousEngine-1.10.28

15 Jun 14:19
29067c0
Compare
Choose a tag to compare

New:

  • Compatible with 1.07!
  • Added Property Tree for Serious Editor for more convenient workflow! (Old Property Combo is still available and can be turned back on in 'View' menu)

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.28.zip and extract it into the game directory!
If everything is correct, next to original Bin directory should appear new one - Bin_1.10

New Property Tree in Serious Editor

SeriousEngine-1.10.21

27 Dec 15:46
b9f9ba1
Compare
Choose a tag to compare

Small bugfix release
Bugfix:

  • Find proper non-empty indices for UV maps when importing models

SeriousEngine-1.10.18

06 Nov 21:17
0af38fb
Compare
Choose a tag to compare

Bugfix:

  • Modeler bugfix to correctly handle UTF8
  • Fixed bug when player camera would get strange rotation after player stepped on polygon under extreme angle

New:

  • Compatible with 1.07!
  • Updated version of assimp, more import formats are available!
  • Triangulation is done automatically upon import
  • Modeler upgrade to correctly read imported UV map without tears at seams (previously required creation of additional surfaces at seams to avoid that problem, but now it does not depend on surfaces at all)
  • World Editor can now import 3D models as brushes with up to 3 UV map channels

Importing 3D meshes with multiple UV maps as brushes in World Editor

List of new supported 3D file formats

Modeler correctly imports UV map without distortions by default (now UV does not depend on surfaces at all!)

SeriousEngine-1.10.9

28 Jun 02:11
a0e9e7a
Compare
Choose a tag to compare

SeriousEngine-1.10.9

New
World Editor - added new advanced UV mapping features:

  • Align rotation of selected polygon to next edge
  • Align mapping of 2+ polygons by adjacent edge
  • Align mapping of 2+ polygons by tangent edge
  • Align mapping of 2+ polygons by adjacent and tangent edges

3D Importing with UV maps - General demo:

Advanced mapping - General demo:

Advanced mapping - Rotation alignment:

Advanced mapping - Alignment by adjacent edge:

Advanced mapping - Alignment by tangent edge:

Advanced mapping - Alignment by adjacent and tangent edges:

SeriousEngine-1.10.6

25 Jun 20:32
Compare
Choose a tag to compare

SeriousEngine-1.10.6

Replaced exploration3D obsolete library with Assimp.
Now its possible to import models into Modeler and World Editor again.