Re: TecnoFreak: Blend Tree Animation System[Open Sourced Edi
Posted: Mon Apr 19, 2010 3:16 pm
I might be able to help....
Which version of the editor are you using?
Which version of the editor are you using?
Support and community hang-out spot for Ogre3D
https://forums.ogre3d.org/
Code: Select all
<animation_infos>
<animation_info>
<name>battle_swords_attack_1</name>
<loop>false</loop>
<trigger_info_list>
<trigger_info>
<name>attack_fire</name>
<time>0.25</time>
<time_type>absolute</time_type>
</trigger_info>
<trigger_info>
<name>attack_end</name>
<time>0.5</time>
<time_type>absolute</time_type>
</trigger_info>
</trigger_info_list>
</animation_info>
</animation_infos>
Code: Select all
Button A : select_anim="2" + select_anim_attack="0"
Button B : select_anim="1" + walk_weight="0.5"
Button C : ...
Code: Select all
...
if ( nextRelativeTime < currentTrigger->getRelativeTime() )
...
Code: Select all
...
if ( nextRelativeTime <= currentTrigger->getRelativeTime() )
...
Code: Select all
for ( TriggerContainer::const_iterator cit = m_triggers.lower_bound( currentRelativeTime ); cit != m_triggers.end(); ++cit )
Should be relatively straightforward to add. It'd be nicer even if the export path was a project setting.- possibility to export the runtime schema in a directory of our choice under the name of our choice.
I seem to recall that you can manually edit the .tfproj and use relative paths there and it'll work. It's been a long time since I wrote that stuff, so I might be wrong.- assets in tfproj should be relative to tfproj path.
It no longer has any purpose. It just lists all animations. It's what's left of when the animation tree runtime was written in c#.- I don't understand what use has the AnimationView
Of all the issues you point out, this is the one I feel strongest about. It currently sucks to have to add animations through the right click menu...- Adding animation to the canvas is painfull may be the AnimationView could be replaced by a palette from which we drag could drag and drop the animation nodes.
The exporter uses the port names to create connections, and they must match between runtime and editor. So, to do this it would be necessary to keep the port name as it is, but use another port property for the ports ( Example "humanReadableName" or similar ) that can be edited and that it's only used for display. To do it properly would need some changes to TFControls ( Port classes and renderer class ) as well as Diagram controller to allow the renaming, and the DiagramIO to save and restore user specified names. It's not too complex, but it's not a change I'm eager to make. The time involved/gain ratio is low for this one in my opinion.- possibility to name the transition node input pin
Node names aren't used at all by the runtime so adding this wouldn't have any foreseeable secondary effects. It'd also be easy to do. I'm wondering if there's a specific reason why you want to rename the nodes.- possibility to give a name to nodes, except for those that already has one. (animation node, parameter node)
This would be a cool feature indeed. I once had a similar idea but it involved creating a time sequence and placing keys in there for each parameter ( and select interpolation methods ), so you could have complex sequences that you could replay to use as test cases. In my dream word, it would allow to move anywhere in the sequence and check the blending and time values of any animation, as well as the weight of any node in the tree.- possibility to record predefined settings and bind it to a button (to apply a full state by clicking a single button)
Code: Select all
[ -1] Anim A
|
| blend between A and B
|
[ 0 ] Anim B
|
| blend between B and C
|
[ +1] Anim C
Code: Select all
+--------+
anim 1 -------| |
anim 2 -------|Compound|-----
anim 3 -------| |
+--------+
Code: Select all
Bone1 : 1
Bone2 : 2
Bone3 : 2
Bone4 : 1
Bone5 : 3
Bone6 : 3
Bone7 : 1
Code: Select all
+--------+
anim 1 -------| |
anim 2 -------| Select |-----
anim 3 -------| |
+--------+
Code: Select all
+----------+----------+----------+----------+
| | anim 1 | anim 2 | anim 3 |
+----------+----------+----------+----------+
| anim 1 | X | 0.1 | 0.3 |
+----------+----------+----------+----------+
| anim 2 | 0.1 | X | 0.0 |
+----------+----------+----------+----------+
| anim 3 | 0.2 | 0.2 | X |
+----------+----------+----------+----------+
Code: Select all
+--------+
param -------|> |
anim 1 -------| Select |-----
anim 2 -------| |
+--------+
Code: Select all
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3
v v v v v v v
| | | | | | |
1 A-------------+-------------C | E--+----------|-------------
| |\ | | | / | |
| | \ | | |/ | |
2 | B--+----------|-------------|-------------D-.-.-.-.-.-.-F-.-.-.-.-.-.-|
| | | | | | |
| | | | | | |
| | | | | | |