Changing rotation and gravity will be some of the most fundemental mechanics of this game, but as you see there is this rapid glitch problems. Any ideas to prevent that?
Changing rotation and gravity will be some of the most fundemental mechanics of this game, but as you see there is this rapid glitch problems. Any ideas to prevent that?
Impact normal is a normalized vector that points to a direction perpendicular to the surface. It is not a rotation.
Make rot from X uses that direction vector to align X and calculate the rotator.
Edit: this reply is to the original post, before the edit. ![]()
I did that, right after I understand the problem I changed the topic to a differnet question. Thanks by the way. Can you help me about the currnet topic as well?
Mabe I better reccord it with a higher fps next time, I am recording at low fps because thhe platform has 29.3mb limit. Those blurs are not a visual efect, they are caused by those glitches.
When you step onto the new floor, you rotate the world around the character, and the next downwards trace points to the old floor, causing a back-and-forth effect.
This is what happens :
I don’t know precisely what you’re trying to do, but it seems odd to me that you are rotating the world that way. Aren’t you rotating in the wrong direction ? It would seem more logical to me if you rotated the world such that the floor underneath became horizontal, like this :
Either way, in order to avoid this glitching, you must rotate the world around the impact point on the floor, not around the character. Or, alternatively, displace the character a bit such that the downwards trace hits the same point as before after rotating (probably easier to do).
For example: whenever doing a world rotation, get the vector (floor impact point - character location). Store the vector size(distance) temporarily. Use Rotate Vector Around Axis with whatever axis and angle you rotate the world with. Add the result back to character location. This should give you the floor impact point after world rotation. Then go up from there by adding the stored distance by the new “up” axis, and this should give you the new character location you need.
Actually I am rotating the character, but I think I can do a similar thing of what you described. rotating the world is a different regard tho, there will be enemies, pysics objects etc. Don’t think rotating the world instead the character makes sense?

