TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]
- aguru
- Goblin
- Posts: 236
- Joined: Tue Feb 26, 2008 5:48 pm
- x 3
Re: TecnoFreak: Blend Tree Animation System and Editor
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.
- 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
Thanks Aguru! A patch with linux support would be very appreciated!
-
- Kobold
- Posts: 25
- Joined: Mon Mar 10, 2008 10:55 pm
Re: TecnoFreak: Blend Tree Animation System and Editor
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.
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.
- 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
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
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.
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.
-
- Kobold
- Posts: 25
- Joined: Mon Mar 10, 2008 10:55 pm
Re: TecnoFreak: Blend Tree Animation System and Editor
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
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!
Another thing I noticed when using you excellent app was that it had an unexpected limitation
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!
- 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
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
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
- 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
thanks so much for the updates novaumas!
-
- Gnoblar
- Posts: 4
- Joined: Wed Jul 23, 2008 8:35 am
Re: Vista 64 the editor dosn't start at all.
Same on my Vista64 machine. No Ogre logs or anything.Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
Do I assume correctly that the source code for the editor is not currently available, say, for porting to 64bit.
-A
-
- 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.
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.Arc wrote:Same on my Vista64 machine. No Ogre logs or anything.Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
Do I assume correctly that the source code for the editor is not currently available, say, for porting to 64bit.
-A
-
- Halfling
- Posts: 99
- Joined: Fri Dec 07, 2007 8:47 pm
- Location: Bristol, UK
Re: TecnoFreak: Blend Tree Animation System and Editor
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.
Thanks for your generous work,
Joe
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.
Is a new editor in the works then, or are you just developing the library?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.
Thanks for your generous work,
Joe
-
- Gnoblar
- Posts: 4
- Joined: Wed Jul 23, 2008 8:35 am
Re: Vista 64 the editor dosn't start at all.
Sweet, thank you; I wasn't aware of such tool.lilljohan wrote: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.Arc wrote:Same on my Vista64 machine. No Ogre logs or anything.Lee04 wrote:Vista 64 the editor dosn't start at all.
No clues are given to what caused it.
-A
-A
-
- Gnoblar
- Posts: 4
- Joined: Wed Jul 23, 2008 8:35 am
Re: TecnoFreak: Blend Tree Animation System and Editor
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.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 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
- 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
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
@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
@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
-
- Halfling
- Posts: 82
- Joined: Tue Jan 03, 2006 4:05 pm
- Location: Växjö, Sweden
- Contact:
Re: TecnoFreak: Blend Tree Animation System and Editor
Just change the solution platform to x86, there should be a drop down right next to the Debug / Release drop down =)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
@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
-
- Gnoblar
- Posts: 6
- Joined: Sun May 11, 2008 9:02 pm
Re: TecnoFreak: Blend Tree Animation System and Editor
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?
- 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
@lilljohan: Thanks, will try to remember to do that for the next release 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: 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.
-
- Gnoblar
- Posts: 6
- Joined: Sun May 11, 2008 9:02 pm
Re: TecnoFreak: Blend Tree Animation System and Editor
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!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.
-
- Gnoblar
- Posts: 18
- Joined: Thu Feb 21, 2008 12:14 am
Re: TecnoFreak: Blend Tree Animation System and Editor
tecnofreak_editor_1.0.3395.zip is corrupt and does not open.
Anyone having any luck?
Anyone having any luck?
- 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
mmmm, don't know what happened there . Uploaded the file again, so now it should work fine.
-
- Gnoblar
- Posts: 18
- Joined: Thu Feb 21, 2008 12:14 am
Re: TecnoFreak: Blend Tree Animation System and Editor
I'm sorry it still does not work.
I would really like to try it out this weekend.
I would really like to try it out this weekend.
-
- Gnoblar
- Posts: 1
- Joined: Sun May 10, 2009 10:03 pm
Re: TecnoFreak: Blend Tree Animation System and Editor
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
2paulrocker:
btw i was able to open tecnofreak_editor_1.0.3395_2.zip archive, works ok
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
2paulrocker:
btw i was able to open tecnofreak_editor_1.0.3395_2.zip archive, works ok
- 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
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
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
- 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
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.
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.
- jacmoe
- 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]
This is wonderful news! Thanks a million!
So, the editor depends on MOgre, the runtime system is pure C++?
<edit>
Wow, this is just too cool!
So, the editor depends on MOgre, the runtime system is pure C++?
<edit>
Wow, this is just too cool!
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
- ©LitoByte!
- Gnoblar
- Posts: 22
- Joined: Thu Feb 01, 2007 7:13 pm
- x 1
- Contact:
Re: TecnoFreak: Blend Tree Animation System[Open Sourced Editor]
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!
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
Sviluppo software e sistemi interattivi.
Software and Interaction Systems Development
http://www.litobyte.com