[Dev][GSoC] BGE animations: Looking for testers

Could I get some people to test a Pepper build r39295 or later? Here is the log entry for r39295:

BGE Animations: Animation updates are now handled separately from logic/physics updates. This allows the animations to be updated at the full fps specified by the user. Before, updates were not happening frequently enough. For example, a 30fps animation my only update at 20~30fps, which would cause some noticeable lag. This my not be the best solution since at this point we may be dropping frames (not being in the while(frames) loop), and we’re not updating as often as the physics engine might want for bone parented physics objects.

So, I’d like to know if this commit is solving problems or creating them.

Please help. I used pepper_r39558_win32
Run, pressing the left mouse button. No blending of animation. :frowning:

Attachments

Proverka_Animacii_2.58.blend (294 KB)

I have tested the latest graphicall bulid 3419 bf trunk win32 r39808 and self compiled Blender Pepper 2.59.1 r39809 from with the CharacterKit.

The animations are running now smooth.
The idel animation is starting now without enabled true pulse.

Switching back to a before started animation is still not working (walking --> running --> walking).
Because if the new started animation is stopped all other running animation are also stopping.

HG1: I think that is by design - if You want a low prio (high number) animation to start again after being interrupted by a higher prio one on the same layer You should use pulse.

I tried the new trunk build as of today after Pepper was merged in, my thoughts after a quick test or two.

-The combined actuator looks nice, looks to have controls to blend animations together which the BGE needed, it is also to be noted that the priority level needs to be set somewhere above zero for the action to play.
-Right now, ‘play’ seems to be the only mode that works (for F-curves at least), ping-pong and the other modes don’t seem to work in a simple setup with an always actuator running with pulse mode on unless I’m missing something.
-Playing the game after setting a property to control the action frame crashes as of now.
-It seems the deliverable mentioning material f-curve support for GLSL mode didn’t make it in, which is a bummer, but hopefully the new system will make implementation easier because it would make it much easier to do several material-based effects.

So while there’s a few issues yet, they look like they could be easily fixed in time for the 2.60 release so we can move our game projects over in full, but it needs testing to ensure that crashes and other bugs get fixed.

@Ace Dragon:
Please report any issues to the issue tracker, and please provide a sample blendfile with your report.

@HG1
Put each animation on different layers. When stopping an animation just tell your stop function which layer to stop.

I don’t have any Blender project. I only tested it for Moguri. This was only a status update of the latest Builds.
I reported this bug post 22# bevore, but Moguri don’t pay attention on it, so I posted it again.

I know that when I enabel the true pulse the old animations will be retriggered by the next pulse, but that is in the original Blender 2.59.0 not necessary.
For me this is an big issues becuse I have tested the new the bulid 3419 bf trunk win32 r39808 with many, many, many finished games and none of them working with the new build without changing the Logic Briks.
I also tried to get the games to work with the new build but I can’t get all to work as the worked bevore.
Eg. If a play animation will be triggerd then you can’t use the true pulse because then the animation will be played endles.

There some other problems with Pepper.
Eg. WSAG 2.5x when I open the file with new build the F-Curve animations will be set from the F-Curve animation to a wrong action animation.
Or when I try to move in Lucy and the Time machine Blender always crash (At the moment I don’t know why).

@HG1
Could you please try a build of trunk that’s r39853 or newer? I’ve attempted to mimic the pulsing behavior of the old action actuator. The CharacterKit file seems to be working well with the changes.

@moguri: iirc you posted a cool video in which there was a character with automatic-ik(?) that walked on different types of terrain. Do you still plan to integrate this (iirc it was a) thesis paper? I think it would be really useful to have automatic ik solvers into bge(you “select” a bone chain, set its length, set the 3D point in which the last bone need to be and in how much time), it would make realistic picking up things, taking up weapons, even “dynamic” close range fighting possible (or at leas far easier)

@Makers_F:
At this moment I’m not looking into any automated locomotion stuff. However, you may be interested in some of the work being done by martinsh in this area: http://www.youtube.com/watch?v=1i-PAoWLZFI

Hi Moguri.

I have tested your branch/trunk with lots of objects that have no animations. For now an iteration over the scene object list is done. Maybe it would be faster to have a separate object list for only objects that have animations. With about 6000 static objects I get total time of 2-3ms animation and 0.7 ms with restrict animations enabled. Would be nice if this was about 0.0 for this case.

best regards,
moerdn

I build yesterday r39882 form the trunk. The CharacterKit working well now.

But with the changes we run into new faults (also reported by Ace Dragon).
Keyboard sensor no pulse + Flipper = animation are sticking sometime at the endframe and after playing back always at the start frame.
Keyboard sensor no pulse + PigPong = animation are sticking at the endframe.
Keyboard sensor true pulse + Flipper = no animation playback.
Keyboard sensor true pulse + PigPong = play animation after key released or if key pressed after a view seconds the animation are flipping fast between the start- and endframe.

Always sensor oo pulse + Loop End = working.
Always sensor no pulse + Loop Stop = working.
Always sensor no pulse + Flipper = working.
Always sensor no pulse + Ping Pong = now it pays the aniamtion endles.
Always sensor no pulse + Play = working.
Always sensor true pulse + Loop End = no animation playback.
Always sensor true pulse + Loop Stop = no animation playback.
Always sensor true pulse + Flipper = no animation playback.
Always sensor true pulse + Ping Pong = after a view seconds the animation are flipping fast between the start- and endframe.
Always sensor true pulse + Play = no animation playback.

When you use property payback with the action actuator and don’t setup the property, the game crashes after starting the animation (also reported by Ace Dragon).

I also found out, when I open an old Blender 2.49b file with Blender r39882 the IPO animation will be not set in the action actuator.
When I open and store it with the oficial Blender 2.59.0 r39307 and open it then in Blender r39882 the IPO is setted in the actuator.

Should I also report this and future bugs in the Blender 2.5 Bug Tracker or in the Game Engine bug tracker?

Attachments

Ipo to F-Curve 2.49b.blend (127 KB)Ipo to F-Curve25x r39307.blend (253 KB)Crash 25x.blend (254 KB)

I have fixed the crashing property action actuator issue and solved the speed problems moerdn mentioned (my test scene with 8000 cubes runs at 0.001ms animation time).

@HG1
Thanks for the list! I will start working through it as I find time.

Thanks Moguri, that speedup works very well.

greetings,
moerdn

bug is not fixed. I checked 3509_bf_trunk_win32_r39902.
Run, pressing the left mouse button. Unpress left mouse button!!! ---- No blending of animation

Attachments

Proverka_Animacii_2.58.blend (294 KB)

After turning off the pulse mode on the always sensor, the blend file behaves the same way in 2.59 and trunk. My priority at the moment is to try and get full compatibility with older files.

in 2.49 it works