armory3d / armory3d/armory

Change rotation logic nodes to use quaternion only

Open
#1,391 0 comments 3 reactions 0 assignees View on GitHub
feature request
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.