TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
SCat135
Gnoblar
Posts: 3
Joined: Fri May 09, 2008 6:43 am

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by SCat135 »

al2950 wrote:
Features Done
  • Added proper Skeleton visuals
  • Added skel mask nodes to runtime and editor. These mask nodes have several operators including 'multiply', 'add', and 'subtract'
  • Bones can now be selected from the viewport and given a value. Right click and draw box around the bones you want
  • Bones are coloured when a mask node is selected. The colour represents the different mask values the skeleton has
looks great!
Where can I view the source code :D
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by al2950 »

I will be giving the patch to that author (novaumas) in the next couple of days ans he will apply the patch to SVN at the weekend. If you cant wait then i will attach the patch to the forum :wink: .

I would like novaumas to have a look at it first, just in case i am doing something mad!!
dudeabot
Gnome
Posts: 334
Joined: Thu Jun 28, 2007 2:12 pm
Location: Brazil
x 5
Contact:

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by dudeabot »

how does this patch differs from the mix function already present in the editor?
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by al2950 »

It basically allows you to set what bones a certain part of the tree affect. A very simple example would be walking and shooting. When you walk the arms swing normally, however when you are shooting are even holding a gun the arms are in a different position. If you try and mix the two animations you will get some odd combination. This patch will allow you to set what bones the walk animation affect and what bones the shoot animation affect, so you can mix them together correctly. That is a simple example however the 'mask nodes' can form quite complex animations

Hope that helps! The best way to find out is to just try it!! :D
SCat135
Gnoblar
Posts: 3
Joined: Fri May 09, 2008 6:43 am

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by SCat135 »

al2950 wrote:I will be giving the patch to that author (novaumas) in the next couple of days ans he will apply the patch to SVN at the weekend. If you cant wait then i will attach the patch to the forum :wink: .
Put please, that is. Time is running out (
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by al2950 »

novaumas is very busy at the moment so I guess he has not got a chance to look at it. However as you are desperate he is the patch I gave him! Please be aware that it may change quite a bit.

**EDIT ** Deleted patch, already found a couple of issues. Will upload new one in a second
**EDIT 2 ** New patch uploaded. Apply it to the trunk of TechnoFreak
**EDIT 3 ** Removed patch, as now part of main TechnoFreak SVN trunk
Last edited by al2950 on Fri Dec 10, 2010 5:48 pm, edited 1 time in total.
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by al2950 »

Bump, as i have uploaded new patch see post above :)
SCat135
Gnoblar
Posts: 3
Joined: Fri May 09, 2008 6:43 am

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by SCat135 »

Super! Thank you very much:)
User avatar
novaumas
Greenskin
Posts: 107
Joined: Mon Jan 21, 2008 9:44 am
Location: Barcelona
x 4
Contact:

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by novaumas »

Hi everyone,

Now, thanks to al2950, the animation runtime and the tool have blendmask support! Awesome work!

I've added his changes along to some other minor stuff to the sourceforge repository and a new release of the tool is also available from there. Still using Ogre 1.6, I need to upgrade sometime soon I think :?

Anyway, as this involved some changes in the interfaces ( not too major, can only affect you slightly if you've written custom nodes ), I've bumped the version 1.2 :D
User avatar
novaumas
Greenskin
Posts: 107
Joined: Mon Jan 21, 2008 9:44 am
Location: Barcelona
x 4
Contact:

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi

Post by novaumas »

@nec: Thanks as always for you detailed feedback ^_^
I'll try to comment on your suggestions, but I have to say I'm still not planning on further development at this moment. Patches are very welcome, and I promise to carefully look at them and take the time to apply them if they're good ( even if it takes a little longer than expected, like this last one did ).
1 - A node that interpolate between 3 animations :
Right now this can be built from other basic nodes, but I guess it could have its uses, so I wouldn't mind having such a node. In any case, why the limit of 3?
2 - A Node that use the ogre animation masking ability to compose a brand new animation from those in input :
I can see the appeal. Now that blend mask support is in you can simulate such a node. With a little more work make one, because the editor side mike take a little longer.
I like the skeleton tree hierarchy editing in a separate window, it could probably be useful for the current mask editing, as having to select them from the viewport can sometimes have some usability issues.
3 - There is a major problem with the Select node that can be easily solved. You can't tweak the transition time between two specific entry of the node. If i set 0.2 sec fade in and 0.2 sec fade out then all anim will autoblend with these times. You can fix this by adding a transition matrix grid.
The select node is just a very simple node. It's just intended to be a very simple way of selecting between animations... I think it has more stuff in it than it should and I wouldn't mind unifying in/out times inputs and having only one port there for example. What you're describing would suit a new node type better.
Do you think the math nodes are really usefull? Don't yo think is the logic that should moulate the properties values.
I think they're useful for prototyping, as most of the time when trying out the tool you don't have your game driving the inputs. I wouldn't use the math nodes too much for anything else to be honest, and I also prefer to drive inputs from the game side.
User avatar
nec
Gremlin
Posts: 175
Joined: Fri Sep 29, 2006 5:56 pm
Location: Rosny Sous Bois, France
x 11
Contact:

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by nec »

Hello,

I reported a litlle problem earlier but it seem nobody understand my explanation so i will try to explain it again.

The problem can be more understandable if i try to do the following action (that is for explaination purpose only, not a real case!)

Code: Select all

                        +----------+
                        | param 1  |
                        +----------+
                             |
+----------+          +--------------+          +-----+
| anim 1   |------- 0 | select node  |----------| out |
+----------+          +--------------+          +-----+

1 - I set a graph with a single not loopable animation and a blend node in order to have a parameter for my explanation.
2 - i want to simulate a loopable animation by setting the param 1 to zero at the frame the animation ends (so the animation should restart).

The first time the parameter is set the amination is engaged
The animation is running...
The animation reach its end ... here i set the param1 again to restart it.
But nothing happens, the animation stay on the last animation pose because the animation tree saw no changes.

When a not looped animation has reached its end, it should be 'restartable'.

This case often occurs at low framerate and is really annoying because it 'freeze' the mesh on it's last frame.

I 'patched' the problem by setting the 'not looped' animations as 'looped' but this is not a solution because this adds artefacts at the animation's end.

A solution could be to timestamped the property modifications and propagate the following info along the tree : 'all not looped animations that reach its end this frame must be restarted because a property, in the branch you belong to, has been modified this frame'.

Does anyone see what i mean?
jblovloss
Halfling
Posts: 42
Joined: Sat Nov 07, 2009 6:59 am
Location: USA
Contact:

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by jblovloss »

Wow. And here I was trying to make a library that includes blending in and out of animations. This tool looks like it might solve the problem for me.
Come visit me at Bit Bards: http://www.bitbards.com
User avatar
novaumas
Greenskin
Posts: 107
Joined: Mon Jan 21, 2008 9:44 am
Location: Barcelona
x 4
Contact:

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by novaumas »

@nec
Ok, I see what you mean with the specific case you wrote with resetting the parameter to it's current value and the select node doing nothing.

Conceptually the select node only selects a branch and in my opinion it shouldn't care much about what's going on inside it... If anything I'd like to make the whole thing simpler, as I think that there are some overall design decisions that have made the library more complex that it should really be :? But that's another issue...

In any case, back to the problem at hand :P One-off animations always seem to be slightly troublesome when using animation trees. For this specific case I would suggest to write a node that is able to reset its child animations. In game code, whenever resetting the select parameter, you could also trigger a change to another parameter that controls the reset node so that one-offs that hang from it can be restarted.

@jblovloss Glad to see you're finding the project useful :D
crashtua
Gnoblar
Posts: 15
Joined: Wed Aug 03, 2011 6:21 pm

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by crashtua »

Hello. Is runtime has support of Ogre 1.7?
-------------------------------------------------------------
In 10 minutes i hava build TecnoFreak Editor with last Ogre SDK(1.7.4). Sinbad mesh loads well! Wil try to build some sample with Sinbad.
User avatar
vitefalcon
Orc
Posts: 438
Joined: Tue Sep 18, 2007 5:28 pm
Location: Seattle, USA
x 13

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by vitefalcon »

I was wondering if there was a combination that could make an animation sequence be done in reverse? For example, I want Sinbad's slash swing to be in reverse.
Image
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by al2950 »

Hello. Is runtime has support of Ogre 1.7?
Yes, at least my version does and I dont think its any different to the repo one!
I was wondering if there was a combination that could make an animation sequence be done in reverse? For example, I want Sinbad's slash swing to be in reverse.
Yes you just have to set a negative speed. However be aware that the event system is not perfect so I think it fires an end event when it starts and a start event when it ends, depending on what events you have set up.
User avatar
vitefalcon
Orc
Posts: 438
Joined: Tue Sep 18, 2007 5:28 pm
Location: Seattle, USA
x 13

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by vitefalcon »

al2950 wrote:Yes you just have to set a negative speed. However be aware that the event system is not perfect so I think it fires an end event when it starts and a start event when it ends, depending on what events you have set up.
Right after I had asked that question, it dawned on me that using a -ve value could do the job and was then having fun trying things out in TecnoFreak :D.

Thanks for the tip about events. Although I haven't used events yet, I bet that is something worth knowing well in advance than having to find it the hard way :)
Image
crashtua
Gnoblar
Posts: 15
Joined: Wed Aug 03, 2011 6:21 pm

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by crashtua »

is there a tool for making triggers? or some manual how to make them? because i don't want to make many experiments for this :)
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by al2950 »

crashtua wrote:is there a tool for making triggers? or some manual how to make them? because i don't want to make many experiments for this :)
No there is no tool. There is also no manual! I have been meaning to write a wiki page for a long time but never seem to find the time. However if you look at the example file "animation_info.xml" you should be able to work it all out.
crashtua
Gnoblar
Posts: 15
Joined: Wed Aug 03, 2011 6:21 pm

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by crashtua »

Is "animation_info.xml" contains all functions of trigger system? Maybe you will find some time to write short wiki article? :)
RigoCL
Greenskin
Posts: 114
Joined: Mon Oct 14, 2013 1:41 am
Location: Chile
x 3

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by RigoCL »

Hi mates, any news about this project?
anyone trying it with Ogre 1.9

Great project, but last post about it is 2 years old.
Integrated: Ogre3D + dotScene (Blender loader) + MyGUI (UI) + RakNet (Client/Server) + Leap Motion (The future is here!) + StereoManager (3D Anaglyph red-cyan)
WIP: StereoManager (Real 3D) + CCS (Camera Control System) + Sound, experimenting with Android.
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by al2950 »

Appears to compile, however have not tested as I am still using 1.8. Project has had no work done, and currently I dont have any plans to add anything more, although I can be convinced otherwise if many people are using it, as there are a few things that are annoying me about it! Main problem is that 'novaumas' owns the code base and has not been around here since 2011. So it should probably be moved to bitbucket to allow people to contribute more easily.
fatmouse
Gnoblar
Posts: 4
Joined: Sun Apr 27, 2014 10:09 am

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by fatmouse »

:( , does it still work ? i got en error when i run it:
Could not create viewport: trying to load incorrect program. (Exception from HRESULT: 0x8007000B)
al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by al2950 »

Are you running on a 64 bit system?
fatmouse
Gnoblar
Posts: 4
Joined: Sun Apr 27, 2014 10:09 am

Re: TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Post by fatmouse »

Are you running on a 64 bit system?
Thank you for the hint, i cortflag it, it might be ok now. :D
Post Reply