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!

TecnoFreak: Blend Tree Animation System[1.2 Blendmasks]

Postby novaumas » Tue Oct 21, 2008 2:19 pm

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 :D
( click for larger images )

Image

Image

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.

Image

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.

For this message the author novaumas has received 4 kudos
User avatar
novaumas
Greenskin
 
Posts: 107
Kudos: 4
Joined: 21 Jan 2008
Location: Barcelona

Postby Vectrex » Tue Oct 21, 2008 2:36 pm

that's really cool and useful. With ogre 1.6's blend masking added it'll be a great tool.
Vectrex
Ogre Magi
 
Posts: 1266
Kudos: 1
Joined: 12 Aug 2003
Location: Melbourne, Australia

Postby eber » Tue Oct 21, 2008 2:53 pm

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!
eber
Halfling
 
Posts: 42
Kudos: 0
Joined: 09 Mar 2008
Location: Southern California

Postby SunSailor » Tue Oct 21, 2008 3:02 pm

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?

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?
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany

Postby TheSpaceMan » Tue Oct 21, 2008 3:05 pm

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
User avatar
TheSpaceMan
Gremlin
 
Posts: 151
Kudos: 0
Joined: 23 Jan 2007

Postby novaumas » Tue Oct 21, 2008 3:23 pm

With ogre 1.6's blend masking added it'll be a great tool

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.

How do you get that type of work area, with boxes and connections between them etc?

It's a custom control.
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.

you make it actualy look fun to make tools

:lol: Building tools is fun!
User avatar
novaumas
Greenskin
 
Posts: 107
Kudos: 4
Joined: 21 Jan 2008
Location: Barcelona

Postby eber » Tue Oct 21, 2008 3:58 pm

Strange that that kind of widget/control hasn't been made available by anyone. Especially for the open gui/libs. I might have to try making a custom widget type for wxWidgets similar to this.

Thanks for the reply, keep up the good work :]
eber
Halfling
 
Posts: 42
Kudos: 0
Joined: 09 Mar 2008
Location: Southern California

Postby SunSailor » Tue Oct 21, 2008 4:43 pm

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!
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany


Postby novaumas » Tue Oct 21, 2008 5:24 pm

Thanks :)

Strange that that kind of widget/control hasn't been made available by anyone

It also perplexed me... I haven't looked for some time for such a control though, so it may actually exist.

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.
User avatar
novaumas
Greenskin
 
Posts: 107
Kudos: 4
Joined: 21 Jan 2008
Location: Barcelona

Postby Kentamanos » Tue Oct 21, 2008 5:39 pm

Nice work! :)
User avatar
Kentamanos
Minaton
 
Posts: 980
Kudos: 0
Joined: 07 Aug 2004
Location: Dallas, TX

Postby SunSailor » Tue Oct 21, 2008 7:26 pm

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.

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.
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.
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany

Postby ppClarity » Tue Oct 21, 2008 7:36 pm

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.

I have all sorts of uses for a node control and would love to have a wxWidgets version.

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.
ppClarity
Gremlin
 
Posts: 194
Kudos: 3
Joined: 02 Sep 2006

Postby ppClarity » Tue Oct 21, 2008 7:37 pm

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.

Blender has had a node editor for a few versions now.
ppClarity
Gremlin
 
Posts: 194
Kudos: 3
Joined: 02 Sep 2006

Postby SunSailor » Tue Oct 21, 2008 9:08 pm

ppClarity wrote:
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.

Blender has had a node editor for a few versions now.

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.
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany

Postby xadhoom » Tue Oct 21, 2008 10:52 pm

Fantastic work novaumas!
User avatar
xadhoom
Minaton
 
Posts: 973
Kudos: 2
Joined: 28 Dec 2007
Location: Germany

Postby novaumas » Wed Oct 22, 2008 1:42 am

@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.
User avatar
novaumas
Greenskin
 
Posts: 107
Kudos: 4
Joined: 21 Jan 2008
Location: Barcelona

Postby eber » Wed Oct 22, 2008 4:16 pm

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*
eber
Halfling
 
Posts: 42
Kudos: 0
Joined: 09 Mar 2008
Location: Southern California

Postby SunSailor » Wed Oct 22, 2008 4:29 pm

Very offtopic, but very appreciated, too ;). Please, keep me informed, maybe we can join forces. Simply drop me a PM for contact, we could exchange mail adresses then.
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany

Postby alexdbkim » Thu Oct 23, 2008 12:21 am

Looking very nice. =) I wonder how you made that tree control thing. Did you use some GUI library? or did you create it by your self?

cheers,
Alexander Dong Back Kim - ê¹€ë
User avatar
alexdbkim
Greenskin
 
Posts: 130
Kudos: 0
Joined: 18 Oct 2008
Location: Sydney, Australia / Seoul, Korea

Postby SunSailor » Thu Oct 23, 2008 12:25 am

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 ;).
User avatar
SunSailor
Gnoll
 
Posts: 699
Kudos: 2
Joined: 02 Jan 2005
Location: Velbert, Germany

Postby alexdbkim » Thu Oct 23, 2008 12:31 am

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 ;).


:) 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 =)

cheers,
Alexander Dong Back Kim - ê¹€ë
User avatar
alexdbkim
Greenskin
 
Posts: 130
Kudos: 0
Joined: 18 Oct 2008
Location: Sydney, Australia / Seoul, Korea

Postby alexdbkim » Thu Oct 23, 2008 12:32 am

SunSailor wrote:
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?

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?


oh You called it "the graph widget" =) and you did the same question already =)

sorry I should've read the entire thread first.

cheers,
Alexander Dong Back Kim - ê¹€ë
User avatar
alexdbkim
Greenskin
 
Posts: 130
Kudos: 0
Joined: 18 Oct 2008
Location: Sydney, Australia / Seoul, Korea

Postby SpannerMan » Thu Oct 23, 2008 12:06 pm

Hey novaumas, this animation tool looks excellant! Releasing this system (the runtime and the editor) to the public would be a very much appreciated!
User avatar
SpannerMan
Gold Sponsor
Gold Sponsor
 
Posts: 446
Kudos: 0
Joined: 02 May 2003
Location: UK

Postby novaumas » Thu Oct 23, 2008 12:35 pm

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.
User avatar
novaumas
Greenskin
 
Posts: 107
Kudos: 4
Joined: 21 Jan 2008
Location: Barcelona

Next

Return to Showcase

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 10 guests