Change rotation logic nodes to use quaternion only
- Dominant language
- C++
- Stars
- 3.3k
- Forks
- 353
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 1
Description
This is to start a discussion/feature thread to gather some feedback on this, but I think the logic nodes that have rotation in their code should receive and return quaternion only and not use euler angles at all.
This may cause some breakage with projects that depend on rotation nodes using euler angles and the loss of the convenience of modifying every angle but it will solve every problem with rotation that euler angles has like [gimbal lock](https://en.wikipedia.org/wiki/Gimbal_lock) and [this infamous issue](https://github.com/armory3d/armory/issues/512) and probably any other issues the rotation nodes have right now.
The [double conversion problem](https://stackoverflow.com/questions/15047471/incorrect-conversion-from-quaternions-to-euler-angles-and-back) that exists when converting could be solved for one axis, but when you try to use more than one the issue shows up again, something reproducible in other engines aswell.
So I think rotations should be done using axis, angles and vectors instead.
Let me know what you think.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files, tests, or entry points. Start by locating the rotation logic nodes and their current Euler-angle interfaces, then resolve whether the intended design is quaternion-only or axis/angle/vector-based and define compatibility expectations and tests before implementation.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100