The character motion actuator local movement does not taking account of the object rotation.
It is necessary to rotate the motion vector before adding the local movement.
Details
- Reviewers
Sybren A. Stüvel (sybren) Jorge Bernal (lordloki) Mitchell Stokes (moguri) - Maniphest Tasks
- T42709: BGE: we can't trigger multiple character motion actuator
- Commits
- rBS29e968a3158b: BGE: Fix T36703: Character motion actuator local movement not working correct.
rB29e968a3158b: BGE: Fix T36703: Character motion actuator local movement not working correct.
Diff Detail
- Repository
- rB Blender
Event Timeline
I don't quite get the link between the title and the description of this patch.
How does double jumping work? Is it now always possible, or can the game programmer choose whether it's possible?
By the way, if you refer to issues with the full "letter + number" instead of "#number", they become clickable and the relation is recorded automatically. Like this: T36703.
| source/gameengine/Ketsji/KX_ObjectActuator.cpp | ||
|---|---|---|
| 148 | Style: opening bracket on same line as if-statement. | |
| 232 | Style: opening bracket on same line as if-statement. | |
| 235 | Style: spaces around operators. | |
| 257 | Style: opening bracket on same line as if-statement. | |
I don't quite get the link between the title and the description of this patch.
I have taken the title from my bug report, because I don't know if we should use the same text for the patch or not.
The second character motion actuator overwrite the values of the first one if add is not on. I wanted to give the character motion actuator the same behaviour as the normal motion actuator and removed in the first patch the add button and fixed the rotation problem. Moguri still want to keep the add button. So the description from T36703 does not match with the actual patch.
This patch actually fix the two thing in the description. Addition if rotated and double jump with actuator.
So if you have a proposal for the pleas leave a comment.
How does double jumping work? Is it now always possible, or can the game programmer choose whether it's possible?
For now it is necessary to set the amount of maximum jumps with python. If the amount of jumps is set to three you can jump three times (first from ground and two in the air). Look at the example file in T36703.
By the way, if you refer to issues with the full "letter + number" instead of "#number", they become clickable and the relation is recorded automatically
Thanks for the info. T36703 is 1,5 years old and moved from the old patch tracker to phabricator. In the old patch tracker it was necessary to write #number to link.
About the style changes. Do you have talked about that with Campell? Because in his committer info page he has written we should not mix cleanups with functional changes and different styles. http://wiki.blender.org/index.php/Dev:Doc/New_Committer_Info.
If it is OK for Campell. How much we should style change from the the code? Only the code lines that we are changed/added or the whole function?
I think it is it better to make two patches. On for the rotation and one for double jump problem. But If I do so which one shod refer to T36703.
What do you think?
Ok, fair enough.
For now it is necessary to set the amount of maximum jumps with python. If the amount of jumps is set to three you can jump three times (first from ground and two in the air). Look at the example file in T36703.
Ok.
T36703 is 1,5 years old and moved from the old patch tracker to phabricator. In the old patch tracker it was necessary to write #number to link.
Ah I didn't see that, thanks for the info.
About the style changes. Do you have talked about that with Campell? Because in his committer info page he has written we should not mix cleanups with functional changes and different styles. http://wiki.blender.org/index.php/Dev:Doc/New_Committer_Info.
If it is OK for Campell. How much we should style change from the the code? Only the code lines that we are changed/added or the whole function?
Yeah, we both feel that the BGE should slowly be moved to Blender's code style. No need to change more than the lines than you already touch though.
I think it is it better to make two patches. On for the rotation and one for double jump problem. But If I do so which one shod refer to T36703.
What do you think?
That sounds like a good idea, as things seem to get a bit muddled T36703 doesn't seem to mention anything about jumping in its description, so if you only want one of the two patches to refer to it, pick the rotation one. That would seem clearest for me as a newcomer to this issue ;-)
Here is the new patch which only fix the local movement.
If the comment or the title are not good, please make a proposal.
Looks good to me.
Additionally, it fixes T42709 (mouse look + character related) also.