TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]
- novaumas
- Greenskin
- Posts: 107
- Joined: Mon Jan 21, 2008 9:44 am
- Location: Barcelona
- x 4
- Contact:
TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]
TecnoFreak Animation System
Sourceforge project page
I recently posted about The Teddy Incident game and said I'd create a new one to talk about the animation system.
Mandatory screenshots follow
( click for larger images )
This project focuses on providing a higher level of control over animation on what currently is offered by Ogre.
It has two parts, a runtime, and an editor.
The runtime has the job of updating the animation trees and gives access to parameters to change the behaviour of the tree. All control of the animation tree is done through a simple parameter interface.
The editor is used to create the files that the runtime uses.
The main objective is moving the responsibilities of controlling animations away from the programmer as much as possible, and handing them to an artist or technical artist. This way, the artist will have more control over the final result and has a quick way of seeing how his animations will display and transition in the game, and toy with it to get better visual results much more quickly.
The animation runtime source code is available in the sourceforge svn. Here is the project page.
The editor can also be downloaded from sourceforge, although source code for it isn't there.
Here is a video showing the editor in action, it's actually the best way to see what this project is all about.
For more information on animation blend trees, this is the article that inspired the project.
I've also talked a little about the animation system on my blog, so it may be of interest.
Sourceforge project page
I recently posted about The Teddy Incident game and said I'd create a new one to talk about the animation system.
Mandatory screenshots follow
( click for larger images )
This project focuses on providing a higher level of control over animation on what currently is offered by Ogre.
It has two parts, a runtime, and an editor.
The runtime has the job of updating the animation trees and gives access to parameters to change the behaviour of the tree. All control of the animation tree is done through a simple parameter interface.
The editor is used to create the files that the runtime uses.
The main objective is moving the responsibilities of controlling animations away from the programmer as much as possible, and handing them to an artist or technical artist. This way, the artist will have more control over the final result and has a quick way of seeing how his animations will display and transition in the game, and toy with it to get better visual results much more quickly.
The animation runtime source code is available in the sourceforge svn. Here is the project page.
The editor can also be downloaded from sourceforge, although source code for it isn't there.
Here is a video showing the editor in action, it's actually the best way to see what this project is all about.
For more information on animation blend trees, this is the article that inspired the project.
I've also talked a little about the animation system on my blog, so it may be of interest.
Last edited by novaumas on Sat Dec 04, 2010 8:22 pm, edited 3 times in total.
-
- Ogre Magi
- Posts: 1266
- Joined: Tue Aug 12, 2003 1:53 am
- Location: Melbourne, Australia
- x 1
- Contact:
-
- Halfling
- Posts: 42
- Joined: Sun Mar 09, 2008 2:54 am
- Location: Southern California
- Contact:
Looks great! Almost like a lite version of Morpheme from Natural Motion.
All the gui is C# right? How do you get that type of work area, with boxes and connections between them etc? Do you, or anyone else for that matter, know if you can do something similar with wxWidgets?
Again, the editor looks great and i'm loving the art direction. Good stuff!
All the gui is C# right? How do you get that type of work area, with boxes and connections between them etc? Do you, or anyone else for that matter, know if you can do something similar with wxWidgets?
Again, the editor looks great and i'm loving the art direction. Good stuff!
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
I second that question, the graph widget looks great. Is it custom made or a bought component, if not part of the GUI toolkit originally?eber wrote:Looks great! Almost like a lite version of Morpheme from Natural Motion.
All the gui is C# right? How do you get that type of work area, with boxes and connections between them etc? Do you, or anyone else for that matter, know if you can do something similar with wxWidgets?
- TheSpaceMan
- Gremlin
- Posts: 151
- Joined: Tue Jan 23, 2007 3:44 am
- Contact:
Yeah i like it, you make it actualy look fun to make tools.
Using:
Ogre3D v1.4.9,
OIS,
Physx v2.8.1,
Personal Physx<->Ogre3D Bindings,
FMOD.
Goal: Current day Retro Engine.
Keywords: Dynamic Terrain, Lowpoly, Engine, Nostalgia
Visit my Blog: http://spacedev.wordpress.com
Ogre3D v1.4.9,
OIS,
Physx v2.8.1,
Personal Physx<->Ogre3D Bindings,
FMOD.
Goal: Current day Retro Engine.
Keywords: Dynamic Terrain, Lowpoly, Engine, Nostalgia
Visit my Blog: http://spacedev.wordpress.com
- novaumas
- Greenskin
- Posts: 107
- Joined: Mon Jan 21, 2008 9:44 am
- Location: Barcelona
- x 4
- Contact:
Definitely. It's currently built for 1.4, but adding blend masking has been on the todo list since I saw the patch for the feature. I haven't downloaded Ogre 1.6 yet, but will do soon.With ogre 1.6's blend masking added it'll be a great tool
It's a custom control.How do you get that type of work area, with boxes and connections between them etc?
I did look hard for something that did what I needed, and the most similar thing I found was a lib called SchematicControl ( I haven't found links to download it anymore though ).
I didn't like the usability of it from an end user perspective, but it esthetically matched what I needed. I looked at how he did it and rolled my own control. I basically involves overriding the mouse functions and writing your own paint routine.
If anyone finds a good library ( and free ) to do this kind of stuff as a C# control, I'm also very interested.
Building tools is fun!you make it actualy look fun to make tools
-
- Halfling
- Posts: 42
- Joined: Sun Mar 09, 2008 2:54 am
- Location: Southern California
- Contact:
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
Could you make at least the source of this control public? It's not, that I wouldn't know how to do such, but having a working implementation makes the design of the programming interface much more easier Your solution looks *very* polished, especially with the subcontrols in it - havn't seen such in that flavour before... Great work!
- Nauk
- Gnoll
- Posts: 653
- Joined: Thu May 11, 2006 9:12 pm
- Location: Bavaria
- x 36
- Contact:
So is Excellent job!Building tools is fun!
ARTIFEX TERRA 3D - Artist-friendly, free and easy WYSIWYG realtime outdoor scene Editor & Painter
New loader now with Ogre::Terrain support: Addons for Artifex on SourceForge
MOC - Minimal Ogre Collision & Mousepicking
Simple TerrainMaterialGenerator for the use of standard Ogre material with Ogre::Terrain
Support me on Patreon
- novaumas
- Greenskin
- Posts: 107
- Joined: Mon Jan 21, 2008 9:44 am
- Location: Barcelona
- x 4
- Contact:
Thanks
On opening the editor source code for the editor: It will eventually happen, but not for the current version. I will keep it up to date with the development version of the runtime.
On opening the source code for the diagram controls: In case I did ( and I'll probably will ), I'd like to make sure that additions to the controls would be also released back for public use. I'm not very knowledgeable about open source licenses, so I'll have a look around. Suggestions welcome of course.
It also perplexed me... I haven't looked for some time for such a control though, so it may actually exist.Strange that that kind of widget/control hasn't been made available by anyone
On opening the editor source code for the editor: It will eventually happen, but not for the current version. I will keep it up to date with the development version of the runtime.
On opening the source code for the diagram controls: In case I did ( and I'll probably will ), I'd like to make sure that additions to the controls would be also released back for public use. I'm not very knowledgeable about open source licenses, so I'll have a look around. Suggestions welcome of course.
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
Don't get me wrong, I don't intend to use your control directly, I would like to do something similar for wxWidgets. Maybe you could be so nice to mail me the sources of the control, I really only want to look *how* you did it, as it really impresses me (Which is definitly not easy...) - even the header would suffice me.novaumas wrote: On opening the source code for the diagram controls: In case I did ( and I'll probably will ), I'd like to make sure that additions to the controls would be also released back for public use. I'm not very knowledgeable about open source licenses, so I'll have a look around. Suggestions welcome of course.
Too, it would be really great if you would make your control open source. There is a real lack of certain controls and anything that can close these gaps is a win for everyone. E.g., I'm currently working on a NLE control for wxWidgets, as there is nothing for any GUI library I would be aware of.
-
- Gremlin
- Posts: 194
- Joined: Sat Sep 02, 2006 12:27 am
- x 2
I have all sorts of uses for a node control and would love to have a wxWidgets version.novaumas wrote:On opening the source code for the diagram controls: In case I did ( and I'll probably will ), I'd like to make sure that additions to the controls would be also released back for public use. I'm not very knowledgeable about open source licenses, so I'll have a look around. Suggestions welcome of course.
If you're looking for a license with commit-back, it's hard to go wrong with LGPL 2. I am somewhat leery of 3 as that strays into areas that potentially make it far less useful in a professional project. I'd also check to see what kind of license wxWidgets use.
Qt is dual licensed: GPL or paid. That requires you to either GPL your project or pay for a license. I personally avoid them because of that.
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
Besides that nobody really wants to look into the blender sources, it ain't a common usable GUI widget, this one seems to. Its the API I'm interested in, as such controls are wide spreaded, but commonly application specific.ppClarity wrote:Blender has had a node editor for a few versions now.SunSailor wrote:I really only want to look *how* you did it, as it really impresses me (Which is definitly not easy...) - even the header would suffice me.
- novaumas
- Greenskin
- Posts: 107
- Joined: Mon Jan 21, 2008 9:44 am
- Location: Barcelona
- x 4
- Contact:
@SunSailor: Thank you for your interest, and please don't take this the wrong way, but when I release the source for the controls I'll do so for everyone.
It's not like the API is that great. You'd probably get better ideas from something like this.
@ppClarity: LGPL seems a reasonable way to go. I'm not too fond either of GPL and have a tendency to avoid it all together.
I also don't like the Qt way much, GPL or paid... It seems a little bit like extortion. The Ogre dual license makes much more sense to me.
I'll have to set aside a moment to carefully read the LGPL.
It's not like the API is that great. You'd probably get better ideas from something like this.
@ppClarity: LGPL seems a reasonable way to go. I'm not too fond either of GPL and have a tendency to avoid it all together.
I also don't like the Qt way much, GPL or paid... It seems a little bit like extortion. The Ogre dual license makes much more sense to me.
I'll have to set aside a moment to carefully read the LGPL.
-
- Halfling
- Posts: 42
- Joined: Sun Mar 09, 2008 2:54 am
- Location: Southern California
- Contact:
Not to detract from this thread, but I was tinkering with wxWidgets last night and I added a very basic version of node connections. There are some focus bugs (when the mouse leaves the work area etc) and it flickers a bit because it I do too many refreshes per-draw, but it wasn't as hard as I thought.
Right now you can create 'port' types (float, int, whatever) and have them link to compatible ports. You can also have normal widgets/controls within the nodes because it's a plain wxWindow...Hurray!
What's in:
- Node creation
- Adding ports to nodes
- Custom port drawing
What's missing:
- work area pan/scroll
- pretty graphics (I want icon support amongst other eye-candy features)
- node auto-resize when additional controls/ports are added
- any type of serialization...not sure if I care about this actually...
What's nasty:
- drawing is buggy
- there is no memory handling (leaks like a sieve no doubt)
- it looks like ass (can't get transparencies working correctly)
- it's rather cpu intensive...I think (only when effecting nodes/connections)
When it's clean/stable enough I'll stick it up somewhere for all to test and play around with. I'll also post it in a separate thread *sry*
Right now you can create 'port' types (float, int, whatever) and have them link to compatible ports. You can also have normal widgets/controls within the nodes because it's a plain wxWindow...Hurray!
What's in:
- Node creation
- Adding ports to nodes
- Custom port drawing
What's missing:
- work area pan/scroll
- pretty graphics (I want icon support amongst other eye-candy features)
- node auto-resize when additional controls/ports are added
- any type of serialization...not sure if I care about this actually...
What's nasty:
- drawing is buggy
- there is no memory handling (leaks like a sieve no doubt)
- it looks like ass (can't get transparencies working correctly)
- it's rather cpu intensive...I think (only when effecting nodes/connections)
When it's clean/stable enough I'll stick it up somewhere for all to test and play around with. I'll also post it in a separate thread *sry*
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
- alexdbkim
- Greenskin
- Posts: 130
- Joined: Sat Oct 18, 2008 7:50 am
- Location: Sydney, Australia / Seoul, Korea
- Contact:
- SunSailor
- Gnoll
- Posts: 699
- Joined: Sun Jan 02, 2005 5:45 pm
- Location: Velbert, Germany
- x 2
- Contact:
- alexdbkim
- Greenskin
- Posts: 130
- Joined: Sat Oct 18, 2008 7:50 am
- Location: Sydney, Australia / Seoul, Korea
- Contact:
I didn't mean the normal tree control but the one shows linkages between elements in the middle of the screen shorts. It is looking cool =)SunSailor wrote:Sorry, maybe I missed something, but what's so special about the tree control? Looks to me like a standard tree control available in every recent GUI toolkit... Even .net .
cheers,
Alexander Dong Back Kim - ê¹€ë
- alexdbkim
- Greenskin
- Posts: 130
- Joined: Sat Oct 18, 2008 7:50 am
- Location: Sydney, Australia / Seoul, Korea
- Contact:
oh You called it "the graph widget" =) and you did the same question already =)SunSailor wrote:I second that question, the graph widget looks great. Is it custom made or a bought component, if not part of the GUI toolkit originally?eber wrote:Looks great! Almost like a lite version of Morpheme from Natural Motion.
All the gui is C# right? How do you get that type of work area, with boxes and connections between them etc? Do you, or anyone else for that matter, know if you can do something similar with wxWidgets?
sorry I should've read the entire thread first.
cheers,
Alexander Dong Back Kim - ê¹€ë
- SpannerMan
- Gold Sponsor
- Posts: 446
- Joined: Fri May 02, 2003 10:05 am
- Location: UK
- Contact:
- novaumas
- Greenskin
- Posts: 107
- Joined: Mon Jan 21, 2008 9:44 am
- Location: Barcelona
- x 4
- Contact:
I've added a more clear link to first post in the thread to the sourceforge project page. The runtime source code is in the SVN there, and the editor is available as a download.
I think the bandwith for googlepages has been exceeded and images don't show up any more ... Anyone know of somewhere more reliable to host them?
@eber: Nice to see someone working on a component like this. I'm working on an cleaner version of mine. If you want to discuss anything about it PM me and I'll be more than happy to help out with what I can.
I think the bandwith for googlepages has been exceeded and images don't show up any more ... Anyone know of somewhere more reliable to host them?
@eber: Nice to see someone working on a component like this. I'm working on an cleaner version of mine. If you want to discuss anything about it PM me and I'll be more than happy to help out with what I can.