diff options
| author | Juan Linietsky <reduzio@gmail.com> | 2017-01-03 23:20:20 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-03 23:20:20 -0300 |
| commit | 3a0c19d3f6ddb26359c95d84c376a8e6b1afd04d (patch) | |
| tree | 8e313066ce55a3366cd6b972ff429372583cda28 /tools/collada/collada.cpp | |
| parent | f2e99826c0b1e8227644bfab0795d858c504d279 (diff) | |
| parent | bd7ba0b664fa98381db9ef8edb69ba211213d595 (diff) | |
| download | redot-engine-3a0c19d3f6ddb26359c95d84c376a8e6b1afd04d.tar.gz | |
Merge pull request #6865 from tagcup/godot_issue_6816
Use right handed coordinate system for rotation matrices and quaternions. Also fixed Euler angles (XYZ convention).
Diffstat (limited to 'tools/collada/collada.cpp')
| -rw-r--r-- | tools/collada/collada.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/collada/collada.cpp b/tools/collada/collada.cpp index c62affe5ad..204de45082 100644 --- a/tools/collada/collada.cpp +++ b/tools/collada/collada.cpp @@ -144,7 +144,7 @@ Transform Collada::Node::compute_transform(Collada &state) const { case XForm::OP_ROTATE: { if (xf.data.size()>=4) { - xform_step.rotate(Vector3(xf.data[0],xf.data[1],xf.data[2]),-Math::deg2rad(xf.data[3])); + xform_step.rotate(Vector3(xf.data[0],xf.data[1],xf.data[2]),Math::deg2rad(xf.data[3])); } } break; case XForm::OP_SCALE: { @@ -1604,7 +1604,7 @@ Collada::Node* Collada::_parse_visual_instance_camera(XMLParser& parser) { cam->camera= _uri_to_id(parser.get_attribute_value_safe("url")); if (state.up_axis==Vector3::AXIS_Z) //collada weirdness - cam->post_transform.basis.rotate(Vector3(1,0,0),Math_PI*0.5); + cam->post_transform.basis.rotate(Vector3(1,0,0),-Math_PI*0.5); if (parser.is_empty()) //nothing else to parse... return cam; @@ -1625,7 +1625,7 @@ Collada::Node* Collada::_parse_visual_instance_light(XMLParser& parser) { cam->light= _uri_to_id(parser.get_attribute_value_safe("url")); if (state.up_axis==Vector3::AXIS_Z) //collada weirdness - cam->post_transform.basis.rotate(Vector3(1,0,0),Math_PI*0.5); + cam->post_transform.basis.rotate(Vector3(1,0,0),-Math_PI*0.5); if (parser.is_empty()) //nothing else to parse... return cam; |
