Page MenuHome

Action in one Layer affects Action in another Layer.
Closed, ArchivedPublic


Category: Animation

Found in Pepper Branch, now in Trunk.

Animations in different layers shouldn't affect actions in different layer. But it happens. How to repeat it: open the file.

Action "loop": StartFrame: 0, EndFrame: 50, Layer: 0
Action "reset": StartFrame: 0, EndFrame: 5, BlendIn: 5, Layer: 0

There's a action in loop (starts with Z key). When you press X key, an Action in the same layer reset the bones loc-rot-scale.

In this way, everything it's ok. Now... let's play the bug.

Uncomment "own.playAction('layer',....)". It modify the scale or rotation of another bone in another layer (1). It shouldn't affect layer 0... but it affects it. Try it by yourself. It starts resetting, and, 5 frames later, it get back to a previous pose.

The only way to avoid this error is giving "reset" action a EndFrame and BlendIn of 10 or more (in this case). For the visual, it is not so much difference... but it shouldn't work like that.




Event Timeline

Moved from Blender 2.5 Bug Tracker to Game Engine

Moving to the Game Engine tracker.

Similar problems:

Case A:

Action "A" in PLAY mode, playing in Layer 0, 30 frames long.
Action "B" in LOOP mode, playing in Layer 1, 60 frames long.

When action "B" is in frame 60 and starts again (loops), action "A" does the same (starts again).

Case B:

Action "B" (object rotation) in LOOP mode is playing in Layer 1.
I want to play action "A" (obcolor, alpha fade out) in PLAY mode, in Layer 0, 30 frames.

What it does: Action "A" continues playing. Action "B" does not fades out, but when it reach frame 30, the objects gets invisible (alpha=0).

How to make action "B" play:
Before playing action "A", I stop action "B" using stopAction(). Then, I play action "A".

What it does: action "B" stops. Action "A" in layer 0 starts to play (it fades out)... but action "B" STARTS AGAIN. The result is not bad for what I want to do... but not what the code says.

Maybe one of my firsts bug reports... I don't find the file.

I'll try to reproduce it, but I cannot say when.

Thanks for take this bug.

I "discovered" this bug again... now, I have a file. @Mitchell Stokes (moguri) says in #gameblender "I could see blendin behaving strangely with layers. =/"

Open the file, press P.

The three objects has same linear movement. When Suzzane starts moving (blendin:30), it does it with acceleration. When ICOshpere starts moving, Suzzane is affected by it, by doing another acceleration.

Torus is not affected because it has blendin:0. Icosphere would be affected if there is another action in other layer playing at the same time.

I'm uploading a new file.

The low-poli icosphere has it's own armature, same as cylinder. This is to show how the real linear movement should be. The icosphere is making the torus movement. At the beginning, the torus is has 30 frames of blendin. Then, the movement is the same. It is Ok.

Look at the Monkey. It has a 30 frames blendin at the beginning, it's ok. When the uvsphere starts moving, the monkey does something strange. And then, when the Cone starts moving, the Monkey gets slow... and then it reachs to the real move (cylinder move).

What (I think) it should do
The Monkey should have the 30 blendin starting acceleration... and it has the same velocity to infinite.

Also, I tried to use KX_ACTION_BLEND_ADD with intentions of not affecting other layers/bones... with no success.

Aaron Carlisle (Blendify) closed this task as Archived.Jun 29 2019, 2:15 AM
Aaron Carlisle (Blendify) claimed this task.

This task is being closed because the BGE has been removed in Blender 2.8.