Action actuator: Property not working. BLEND ATTACHED

Hi everyone,

I have a Little cube parented to a Main cube.

The Main cube rotates when the w key is pressed (using logic bricks).
The Main cube has a property with a float value. When the w key is pressed, this property is added by 1.

The Little cube is assigned a 20-frame action, and the Little cube has a property with a float value.
I used a property actuator so that the Little cube property copies the Main cube property.

I used an action actuator to make the Little cube move according to the property of the Main cube (action actuator set to Property Mode).

However, when I press w, the Main cube rotates, but the Little cube does not play its action. Is this a bug?

Blend file is attached.

Thanks for the help!

Attachments

frame_property_test.blend (491 KB)

Very interesting. It indeed looks like a bug.

Your demo file is to complex to demonstrate it.

A) You do not need property “thing2” at “Cube”. This reduces the logic to Always (no true level triggering) -> Motion
B) You can directly increase the property “thing” at “Cube.001”. Replace the always with a keyboard sensor (listening on <w>). Switch the property actuator to assign mode with this value: (thing + 1) % 20

I notified following behavior.

Observation

As long as the <w> is pressed:

  • “Cube” rotates (and “Cube.001” with it)

When <w> just gets pressed:

  • “Cube.001” plays the starting frame of the action (maybe it does that while <w> is pressed too. But I can’t confirm it).

When <w> gets released:

  • “Cube.001” plays the frame according to the value of the “thing” property of the action once.

Expected

As long as the <w> is pressed:

  • “Cube” rotates (and “Cube.001” with it)
  • “Cube.001” plays the frame according to the value of the “thing” property of the action continually.

Analysis
-> When “Cube.001” is not child of “Cube” it plays as expected
-> When “Cube” does not rotate “Cube.001” plays as expected

I used a Frame Property at the action actuator to check what frame the animation was on too. It showed me that the frame was increased - as expected.

I guess it is a problem in either the ActionActuator (adding to the existing bugs) or the animation system.
-> When the parent of the object gets moved -> the action gets played on deactivation of the action actuator.

Workaround/Further analysis
Interestingly it works when the parent gets turned by an action.

I haven’t tested what happens if the parent gets moved by Python.

Attachments

DemoFile.blend (140 KB)

sounds maybe like dependency graph?
bumping the parent puts the children on the list to be processed?

I forgot … you should report that to the Blender bug tracker.