Noob Here - Animation Question.

Noob Here - Animation Question.

Share and discuss visual creations and creation practices like texturing, modelling and musing on the meaning of life.

Moderators: MR.D, Moderators

Post Reply
Methuselas
Posts: 17
Joined: 27 Nov 2017, 07:42

Noob Here - Animation Question.

Post by Methuselas »

I just came across this engine and I'm curious. How does Spring Engine handle animations?


Does it use animation cycles, via FBX loops?

Does it support Bones or is it baked animations?


Thanks in advance!

-M
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Noob Here - Animation Question.

Post by Kloot »

Animations are handled via scripted forward kinematics, with models consisting of a hierarchy of rigid 'pieces' (similar to bones, except here each piece vertex only receives influence from a single skeletal link) that are translated and rotated by game code dynamically.

Baked (or real-time) inverse kinematic sequences are not natively supported but can be emulated via Spring's Lua scripting system.
Methuselas
Posts: 17
Joined: 27 Nov 2017, 07:42

Re: Noob Here - Animation Question.

Post by Methuselas »

Thanks for the quick reply, Kloot.


So, I am understanding correctly, IK isn't supported, but bones are and animations function similar to how they do with Mechcommander 2/Mechcommander Omnitech, in that it's basically helper objects that move the polys around to simulate movement? I'm trying to see if my extensive knowledge in Maya Animation will allow me to build a proof of concept in the Spring Engine for a developer.

I used to be an artist for MCO, but as I exclusively use Maya, my input was limited, due to the use of Max 6.0. Looking for a new engine to show the developer, as he's grown frustrated with the limitations of the MC2 Engine and I got a hankering to play MCO again.

Is there a poly count limit per unit? MC2/O was severely limited in texture mapping, but mostly poly count. I wasn't a fan of keeping mechs/vehicles under 3k. I was always wanting to push it to 5k-6k.


Also, is there any sort of documentation that will push me in the right direction for someone that's mainly a modeler, rigger and animator? The documentation page is rather sparse when it comes to animators.

Thanks again!

-M
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6240
Joined: 29 Apr 2005, 01:14

Re: Noob Here - Animation Question.

Post by FLOZi »

Methuselas wrote:Thanks for the quick reply, Kloot.


So, I am understanding correctly, IK isn't supported, but bones are and animations function similar to how they do with Mechcommander 2/Mechcommander Omnitech, in that it's basically helper objects that move the polys around to simulate movement? I'm trying to see if my extensive knowledge in Maya Animation will allow me to build a proof of concept in the Spring Engine for a developer.
Not familiar with the MC2 engine myself but MC2 models have been converted into Spring so probably a similar system. Essentially it works akin to bones but each bone must be a separate mesh. This is usually not a problem for vehicles and mech type models but can be restrictive if you want a more 'organic' look. There is a blender plugin for exporting animations, (calling Anarchid!) though it only works for certain filetypes and may have other restrictions.
I used to be an artist for MCO, but as I exclusively use Maya, my input was limited, due to the use of Max 6.0. Looking for a new engine to show the developer, as he's grown frustrated with the limitations of the MC2 Engine and I got a hankering to play MCO again.

Is there a poly count limit per unit? MC2/O was severely limited in texture mapping, but mostly poly count. I wasn't a fan of keeping mechs/vehicles under 3k. I was always wanting to push it to 5k-6k.
Psst, viewforum.php?f=70 ;) There is no limit other than GPU memory for textures and polycounts. It is also possible to implement LODing through the lua API but afaik no one has actually done it yet despite it being technically feasible for many years (my guess is that it has too high a 'work cost' for amateur part-time modelers).
Also, is there any sort of documentation that will push me in the right direction for someone that's mainly a modeler, rigger and animator? The documentation page is rather sparse when it comes to animators.
With regards animating https://springrts.com/wiki/Animation-LuaScripting would be the place to start for doing it 'the old fashioned way' i.e. without the Blender plugin.

That page links to a very basic couple of tutorials that will give you some insight into how things work;

http://tvo.github.io/spring/2010/04/19/lus-stumpy.html
http://tvo.github.io/spring/2010/04/26/ ... mpy-2.html

As well as the API pages for the lua animation scripting (LUS);
https://springrts.com/wiki/Animation-LuaCallins
https://springrts.com/wiki/Animation-LuaCallouts

It is worth looking at public repos to see more fully developed scripts

for example the mech script from MCL:

https://github.com/SpringMCLegacy/Sprin ... s/Mech.lua

and an animation walkscript that the generic script includes:

https://github.com/SpringMCLegacy/Sprin ... tapult.lua

Worth noting that the scripts also have elements of game/unit control as well as purely visual animation. That is because animation is synced.

It's also worth joining #moddev and/or #lua on the lobby server (same people in each) for real-time help & feedback.
Methuselas
Posts: 17
Joined: 27 Nov 2017, 07:42

Re: Noob Here - Animation Question.

Post by Methuselas »

FLOZi wrote:
Not familiar with the MC2 engine myself but MC2 models have been converted into Spring so probably a similar system. Essentially it works akin to bones but each bone must be a separate mesh. This is usually not a problem for vehicles and mech type models but can be restrictive if you want a more 'organic' look. There is a blender plugin for exporting animations, (calling Anarchid!) though it only works for certain filetypes and may have other restrictions.
MC2 used Locators (or in Max, Helpers) to move parented meshes to simulate animation. It's a poor approach, but one that was necessary, back in the early 2000s, when Microsoft made the game (It's models were done with the DOS version of Max 6.0). I have a workaround that allows you to use actual IK rigs and animate using bones and control curves, by parenting meshes to locators and then locators to bones. Animations will still work with Collada and FBX, without the bones, thanks to the locators. Ironically, this would only work with vehicles or Mechs. The way organic models are, you have to paint weight to multiple bones.

NOTE - There are still issues jumping between Max and Maya, mainly due to how constraints work in each program, but if you stick with one application and BURN the animations in the DAE or FBX, they're pretty much interchangeable between any 3D application, as they all have the equivalent of Locators (Maya) or Helpers (Max). Doing it like this means animations are interchangeable between units that use the same skeleton - naming scheme for meshes shouldn't matter at all, so long as the locator names are the same.

I was never a fan of Blender (I found the UI to be kludgy and worse than Max), but in theory, my animations workflow would work for this engine. If Magic finds interest in Spring (or I do), I may look into Blender for exporting animations, but don't hold me to that.

Psst, viewforum.php?f=70 ;) There is no limit other than GPU memory for textures and polycounts. It is also possible to implement LODing through the lua API but afaik no one has actually done it yet despite it being technically feasible for many years (my guess is that it has too high a 'work cost' for amateur part-time modelers).
Yeah, I've already seen that link. ;) I came across here, purely by accident, looking for an old page that was for MC2 that is apparently long gone.

With regards animating https://springrts.com/wiki/Animation-LuaScripting would be the place to start for doing it 'the old fashioned way' i.e. without the Blender plugin.

That page links to a very basic couple of tutorials that will give you some insight into how things work;

http://tvo.github.io/spring/2010/04/19/lus-stumpy.html
http://tvo.github.io/spring/2010/04/26/ ... mpy-2.html

As well as the API pages for the lua animation scripting (LUS);
https://springrts.com/wiki/Animation-LuaCallins
https://springrts.com/wiki/Animation-LuaCallouts

It is worth looking at public repos to see more fully developed scripts

for example the mech script from MCL:

https://github.com/SpringMCLegacy/Sprin ... s/Mech.lua

and an animation walkscript that the generic script includes:

https://github.com/SpringMCLegacy/Sprin ... tapult.lua

Worth noting that the scripts also have elements of game/unit control as well as purely visual animation. That is because animation is synced.

It's also worth joining #moddev and/or #lua on the lobby server (same people in each) for real-time help & feedback.
Thank you! I downloaded the Engine to play a bit, but it seems that you really need a game built to really see how the Engine works. I haven't done any Lua scripting in years (that's more my Wife's thing - she's a software developer).

In my experience, most issues with LOD stem from people not knowing how to properly create LODs for open-source engines. Start big, UV and then work your way down. Most people just want to make one model and be done with it. Personally, I don't care about LOD as most models for a game like this should be under 10k, anyway.

I guess I should download one of the game packs to see what the Engine can do in real-time. Any recommendations? :)
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6240
Joined: 29 Apr 2005, 01:14

Re: Noob Here - Animation Question.

Post by FLOZi »

In terms of seeing what the engine can do visually, The Cursed, Zero-K and EvoRTS spring to mind.

As far as seeing a wider variety of gameplay concepts, MC:L is unusual in that it has no factory based unit creation (and a whole lot of other battletech related gubbins should you indeed switch to Spring... would make you approximately the 5th battletech project ever on Spring, iirc :lol: ), you can also check out the Spring Cabal games made for various Ludum Dare game jams.
Methuselas
Posts: 17
Joined: 27 Nov 2017, 07:42

Re: Noob Here - Animation Question.

Post by Methuselas »

FLOZi wrote:In terms of seeing what the engine can do visually, The Cursed, Zero-K and EvoRTS spring to mind.

As far as seeing a wider variety of gameplay concepts, MC:L is unusual in that it has no factory based unit creation (and a whole lot of other battletech related gubbins should you indeed switch to Spring... would make you approximately the 5th battletech project ever on Spring, iirc :lol: ), you can also check out the Spring Cabal games made for various Ludum Dare game jams.

Right now, I'm more focused on getting something where I can test to see if my animation theories would work. ;P
Post Reply

Return to “Art & Modelling”