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
User avatar
aguru
Goblin
Posts: 236
Joined: Tue Feb 26, 2008 5:48 pm
x 3

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by aguru »

Just wanted to drop a line about linux support here. Today I got the library to compile and managed to implememnt it in our linux based project. I will post a patch as soon as I have time to clean up the mess. :oops:
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 and Editor

Post by novaumas »

Thanks Aguru! A patch with linux support would be very appreciated!
Muthaias
Kobold
Posts: 25
Joined: Mon Mar 10, 2008 10:55 pm

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by Muthaias »

Hi, I really like this animation tool.

I do however have things that I miss. Is there a way of making animations sync properly? Right now their time seem to depend on when you add the animation to the blend/mix node.

I'm using a system where the upper body is separated from the lower body to enable doing different actions while running. Problem is that as far as I can see there's no way to make sure the upper body arm swings sync with the lower body.

Is it possible to sync animations in that manner?

If not then maybe a time node and a time argument for the animation would be a good way to handle such a thing?

Best regards, Mattias.
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 and Editor

Post by novaumas »

Since I've been asked several times for this feature, and I also think it's important, I've gone ahead and added animation synchronisation :D

Some notes on how to use it:
- Animation Nodes now have an additional port named "synch".
- Animation nodes can be added to that port, meaning that they will be synched to the node they are hanging from.
- When the animation node that has synch children is evaluated it will look at all the animations that are hanging from the synch port and the animation system will keep their relative time the same as their parent animation.
- Animations hanging from the synch port aren't necessarily applied to the model, they are just kept in synch.
- Be careful not to create cyclic synch dependencies.

I've updated the runtime and the editor.

I haven't had time to test this new feature properly ( it does work ), but if you guys find any problem with it I'll be very happy to hear about it.
Muthaias
Kobold
Posts: 25
Joined: Mon Mar 10, 2008 10:55 pm

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by Muthaias »

That sounds completely awesome. I will try it out as soon as I get a chance to :)

Another thing I noticed when using you excellent app was that it had an unexpected limitation :P
That limitation was the working area does not resize to let you fit in more nodes if needed. Right now I have a node tree that fills up the Working area completely and I have much more features to add to it :)

Also the scorll bar in the animation window acts really funky. I can't really scroll to see all animations.

Thank you for this excellent creation!
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 and Editor

Post by novaumas »

Hey Muthaias, thanks for the comments.

I'm not developing the current version of the editor, but I try to maintain it as best as I can, so I just released a new version of the editor in an attempt to solve those issues.

The animations scrollbars should display correctly.

To get bigger diagrams now you can open the "diagram.xml" file in the project folder with any text editor and type in any size you want there. The next time the diagram is loaded it should take the new size into account. It's not the most elegant way to solve it... and I would love to give an UI solution to this, but it's not high on the priority list right now.

I'm always open to suggestions, so if anything else crosses your mind, any ideas, criticism, bug reports, I'd be very interested :D
User avatar
prolow
Halfling
Posts: 72
Joined: Tue May 08, 2007 10:47 pm
Location: Cedar Falls, Iowa USA
Contact:

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by prolow »

thanks so much for the updates novaumas!
Arc
Gnoblar
Posts: 4
Joined: Wed Jul 23, 2008 8:35 am

Re: Vista 64 the editor dosn't start at all.

Post by Arc »

Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
Same on my Vista64 machine. No Ogre logs or anything.

Do I assume correctly that the source code for the editor is not currently available, say, for porting to 64bit.

-A
lilljohan
Halfling
Posts: 82
Joined: Tue Jan 03, 2006 4:05 pm
Location: Växjö, Sweden
Contact:

Re: Vista 64 the editor dosn't start at all.

Post by lilljohan »

Arc wrote:
Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
Same on my Vista64 machine. No Ogre logs or anything.

Do I assume correctly that the source code for the editor is not currently available, say, for porting to 64bit.

-A
It's compiled probably compiled as "platform independent" which does not work with Mogre. I called "corflags.exe /32BIT+ TecnoFreak.exe" from the Visual Studio Command prompt to get it to work without recompiling.
hpesoj
Halfling
Posts: 99
Joined: Fri Dec 07, 2007 8:47 pm
Location: Bristol, UK

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by hpesoj »

Hi novaumas.

I saw this thread back when you first posted and thought your editor looked absolutely awesome, I just got round to testing it and my feelings were confirmed :); this is exactly the kind of tool we've been hoping for. There is one thing that seems to be missing though: the mix tool seems to average bones only when they have keyframes saved, but doesn't seem to have a "blend" equivilent where you can choose the weighting between two animations. Say you had a standard "run" animation, with lower and upper body animated, and you wanted to blend in a holding gun animation; ideally you want to completely (or mostly) get rid of the arm-swinging animation, and replace it with the gun-holding animation. At the moment the best you can do is "mix" the two animations to get weird upper arm movement. In your video you demonstrate the "LookAt" tool, this also would surely be better using the method I describe?

Basically, for animation blending, 90% of the time I'd need to use the tool I describe, simply mixing or averaging would be fairly useless. I may be missing something, so tell me if so.
novaumas wrote:I'm not developing the current version of the editor, but I try to maintain it as best as I can, so I just released a new version of the editor in an attempt to solve those issues.
Is a new editor in the works then, or are you just developing the library?

Thanks for your generous work,

Joe
Image
Arc
Gnoblar
Posts: 4
Joined: Wed Jul 23, 2008 8:35 am

Re: Vista 64 the editor dosn't start at all.

Post by Arc »

lilljohan wrote:
Arc wrote:
Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
Same on my Vista64 machine. No Ogre logs or anything.

-A
It's compiled probably compiled as "platform independent" which does not work with Mogre. I called "corflags.exe /32BIT+ TecnoFreak.exe" from the Visual Studio Command prompt to get it to work without recompiling.
Sweet, thank you; I wasn't aware of such tool.

-A
Arc
Gnoblar
Posts: 4
Joined: Wed Jul 23, 2008 8:35 am

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by Arc »

hpesoj wrote:There is one thing that seems to be missing though: the mix tool seems to average bones only when they have keyframes saved, but doesn't seem to have a "blend" equivilent where you can choose the weighting between two animations. Say you had a standard "run" animation, with lower and upper body animated, and you wanted to blend in a holding gun animation; ideally you want to completely (or mostly) get rid of the arm-swinging animation, and replace it with the gun-holding animation. At the moment the best you can do is "mix" the two animations to get weird upper arm movement.
This is, I believe, achievable using the skeletal blend masks introduced in Ogre 1.6, and also mentioned in this thread. This feature is described here, and the development was discussed here.

This functionality is described in Ogre API, and as far as I can tell, one would need at least to expand the tecnofreak::ogre::Animation class accordingly and add an additional node, say tecnofreak::MaskNode, which would assign given weights to individual bones. Now, this does not include the editor, and I don't know if its possible to expand it this way without the source.

-A
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 and Editor

Post by novaumas »

Nice to know there's a way to make it work for you 64 bit guys! Thanks lilljohan! It's actually compiled as mixed platforms. Will investigate to see if there's a way to make it work out of the box, but if anyone knows the answer I'd appreciate it :D

@hpesoj: As Arc described, what you want can probably be done by using skeleton blend masks and implementing your own nodes.

The truth is that you can implement any type of blending you want by creating your own blend nodes in the runtime. Then you can add the blend nodes you've created to the editor with the plugin system ( check the downloads in sourceforge project page ).

Skeletal blend masks pose an interesting problem though, being that they are an Ogre 1.6 feature. The editor uses MOgre, and as far as I know the latest version is 1.4.something. So you can create the new nodes, you will be able to create the nodes in the editor if you create a plugin for them, but you won't be able to preview the correct results in the editor ( which actually takes away all the fun... ).

Removing the MOgre dependency is something I wish to do the sooner the better. Open sourcing the editor will happen, just don't hold your breath for it :?
lilljohan
Halfling
Posts: 82
Joined: Tue Jan 03, 2006 4:05 pm
Location: Växjö, Sweden
Contact:

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by lilljohan »

novaumas wrote:Nice to know there's a way to make it work for you 64 bit guys! Thanks lilljohan! It's actually compiled as mixed platforms. Will investigate to see if there's a way to make it work out of the box, but if anyone knows the answer I'd appreciate it :D

@hpesoj: As Arc described, what you want can probably be done by using skeleton blend masks and implementing your own nodes.

The truth is that you can implement any type of blending you want by creating your own blend nodes in the runtime. Then you can add the blend nodes you've created to the editor with the plugin system ( check the downloads in sourceforge project page ).

Skeletal blend masks pose an interesting problem though, being that they are an Ogre 1.6 feature. The editor uses MOgre, and as far as I know the latest version is 1.4.something. So you can create the new nodes, you will be able to create the nodes in the editor if you create a plugin for them, but you won't be able to preview the correct results in the editor ( which actually takes away all the fun... ).

Removing the MOgre dependency is something I wish to do the sooner the better. Open sourcing the editor will happen, just don't hold your breath for it :?
Just change the solution platform to x86, there should be a drop down right next to the Debug / Release drop down =)
khawkins
Gnoblar
Posts: 6
Joined: Sun May 11, 2008 9:02 pm

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by khawkins »

With the latest version of the editor, when I start it and select "New Project", no matter what I do with path or project names I can't enable the "OK" button so I can create a new project. It stays grayed out. Am I missing a step or something?
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 and Editor

Post by novaumas »

@lilljohan: Thanks, will try to remember to do that for the next release :D In fact... I might as well open visual studio and change it now so I don't forget about it next time...

@khawkins: You need to specify both project name and location, as it creates a folder with the project name in the location you choose. Therefore, the location must be a folder were you have read and write permissions. If you are already doing that correctly I have a couple of questions, does it happen too when using the desktop as location? Does it happen with previous versions of the editor? I'm very interested about this because I noticed it acted a little bit weird the last time I tried to create a new project, but I didn't give much attention to it as I though it was my computer playing tricks on me and I could eventually create a new project by setting the location to the desktop.
khawkins
Gnoblar
Posts: 6
Joined: Sun May 11, 2008 9:02 pm

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by khawkins »

novaumas wrote: @khawkins: You need to specify both project name and location, as it creates a folder with the project name in the location you choose. Therefore, the location must be a folder were you have read and write permissions. If you are already doing that correctly I have a couple of questions, does it happen too when using the desktop as location? Does it happen with previous versions of the editor? I'm very interested about this because I noticed it acted a little bit weird the last time I tried to create a new project, but I didn't give much attention to it as I though it was my computer playing tricks on me and I could eventually create a new project by setting the location to the desktop.
Creating on the desktop works (this is 32-bit Vista by the way), along with any other "user" folder. I have administrator rights so security permissions shouldn't be an issue. In any case, this is good to know. While not ideal, I can work with it. Oh, and I LOVE the tool! :) Thanks!
paulrocker
Gnoblar
Posts: 18
Joined: Thu Feb 21, 2008 12:14 am

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by paulrocker »

tecnofreak_editor_1.0.3395.zip is corrupt and does not open.

Anyone having any luck?
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 and Editor

Post by novaumas »

mmmm, don't know what happened there :? . Uploaded the file again, so now it should work fine.
paulrocker
Gnoblar
Posts: 18
Joined: Thu Feb 21, 2008 12:14 am

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by paulrocker »

I'm sorry it still does not work.

I would really like to try it out this weekend.
Devast
Gnoblar
Posts: 1
Joined: Sun May 10, 2009 10:03 pm

Re: TecnoFreak: Blend Tree Animation System and Editor

Post by Devast »

nice system and editor! however i'm trying to figure out how to implement following situation:
involving animation once and then set another animation (e.g. attack once and back to idle)
if i turn off looping, character just freezes. any advices would be nice :roll:

2paulrocker:
btw i was able to open tecnofreak_editor_1.0.3395_2.zip archive, works ok
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 and Editor

Post by novaumas »

Hi Devast,

Here are at least two ways I believe you can achieve what you're looking for. Unfortunately, both of them involve getting your hands dirty:

At the moment, there are no implemented nodes that play a single animations once, or change the animation after a certain time, so one way could be to implement a node that does exactly that in the runtime and then expose it to the editor. Remember that the existing nodes are just the ones I needed when working on the Teddy Incident game, and every project may have it's own needs. For example, the current Transition:Select node is little more than a joke, but it gets the job done in most simple cases... A fully functional state machine transition node would be a very nice thing to have and would be useful for a lot of projects.

Another way ( this is how we did it in the Teddy Incident game, but that doesn't imply it's a better solution... ) is to have a Trigger at the end of the attack animation. Then, in your logic code listen for that trigger ( we had state machines controlling the logical sate for the player and the enemies ) and change the animation there to the most appropriate one ( eg. when entering state attack we set the current animation to attack. The state will listen to the attack_end trigger, and will change to the most appropriate state depending on what the player is doing. That next state will in turn play a different animation when entered ). Sometimes the line between animation/logic is hard to define. The problem with this last approach is that the character cannot be fully previewed in the animation editor, as there is game logic involved.

I hope that all this didn't raise more questions that it answered... :?

It would be nice to know how other projects using the animation system take care of this issue, as perhaps they've come with some interesting ways that I haven't thought of :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 and Editor

Post by novaumas »

Just wanted everyone to know that the editor code has finally been open sourced :)

It can be obtained from SVN in the sourferge project page. It's in the Editor folder, so all of you who already have the code checked out just have to update to latest version. You will need Mogre.

Hope someone will find it useful.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Editor]

Post by jacmoe »

This is wonderful news! Thanks a million! :D

So, the editor depends on MOgre, the runtime system is pure C++? :)

<edit>
Wow, this is just too cool! :o :) :D
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
©LitoByte!
Gnoblar
Posts: 22
Joined: Thu Feb 01, 2007 7:13 pm
x 1
Contact:

Re: TecnoFreak: Blend Tree Animation System[Open Sourced Editor]

Post by ©LitoByte! »

This is just great!
Proficient use of ogre classes and link widgets.

Is this still written in C# or C++ ?

Downloading the editor src trunk now,
i'm very intersted in this work.

Keep it up!
Litobyte Softworks di Tommaso Lintrami
Sviluppo software e sistemi interattivi.
Software and Interaction Systems Development
http://www.litobyte.com
Post Reply