GSoC 2012 Idea : Cinematic Editor

Nice visuals.



SpatialAnimation has to be used at runtime. The advantage over interpolating is obvious : data are baked and you just have to read and apply them, instead of interpolating between them and use precious CPU cycles.

The down side is that it uses more memory.

You have an AnimationFactory that use a keyFrame appraoch and then generate the spatial animation by interpolating through the given keyframes.



The cinematic editor should not use the SpatialAnimation at design time, you can wrap everything in your own objects, even have 3 separated “blocks” for position rotation and scale, you can do pretty much what you want

BUT in the background, JME is fed with a spatial animation because that’s what it’s gonna use at run time :



for example :

AWT side : cinematic editor

  • PositionTrack(spatial)
  • RotationTrack(spatial)
  • ScaleTrack(Spatial)

    Those are key framed based objects, for example the position track knows that the spatial is at 0,0,0 at keyFrame 0 and 0,0,10 at keyframe 10



    JME side : cinematic

    the spatial is fed with a SpatialAnimation generated with the AnimationFactory by using the data from the PositionTrack, RotationTrack, ScaleTrack.
@atomix said:
Now, all three types of translation (positioning, rotating, scaling ) have a same time keyframe value!!!! <= IMO, it's not a good things in the view of an Animator
An Animator should know very good about the keyframe(s) when they are nessesary or not). A ton of keyframes which only there for Positioning but meaningless for Rotating,Scaling is a head-shot!

A keyframe is just one specific frame and has nothing to do with what value is automated per se. Most editors allow you to show/hide different types of values in the keyframe lane, like the blender IPO curve editor.
@nehon said:

for example :
AWT side : cinematic editor
- PositionTrack(spatial)
- RotationTrack(spatial)
- ScaleTrack(Spatial)
Those are key framed based objects, for example the position track knows that the spatial is at 0,0,0 at keyFrame 0 and 0,0,10 at keyframe 10

JME side : cinematic
the spatial is fed with a SpatialAnimation generated with the AnimationFactory by using the data from the PositionTrack, RotationTrack, ScaleTrack.


So you tell me to make Model classes of Track(s) by my own to use with the UI, or use exist JME3 PositionTrack, then bake them all to a SpatialTrack?
@atomix said:
So you tell me to make Model classes of Track(s) by my own to use with the UI, or use exist JME3 PositionTrack, then bake them all to a SpatialTrack?

Don't use JME3's PositionTrack it's gonna be removed.
Make your own model (user froendly oriented, and what ever it take to be easy to edit) and then convert the data to JME's model (optimized for real time rendering).

@nehon : I’m nearly done with making Model and Bake function …

As you recommend above, the serialization of a Cinematic was already implemented and should be in another file… <= I still need time to clear my thought for this point :stuck_out_tongue:


The next feauture I want to Implement is : Visual Animation Blend. As see
http://novaumas.blogspot.com/search/label/Animation%20System MOgre Version
http://www.gamasutra.com/view/feature/3456/animation_blending_achieving_.php The article

I know we got the Engine back up for this one, so the job is quite easy, ( and I really want that feature too )

P/s: Because I've choosed to make a complete SDK (JME power) for my last year project (will be submited in April)

So, It' nice if I can join GsoC too :p May be first in this area : JME SDK Cinematic Tools and Animation Feature... What do you think ?
1 Like