<feed xmlns='http://www.w3.org/2005/Atom'>
<title>godot.git/core/math/matrix3.h, branch 3.0-stable</title>
<subtitle>Godot Engine – Multi-platform 2D and 3D game engine https://godotengine.org</subtitle>
<id>https://git.neuromancer.sk/godot.git/atom/core/math/matrix3.h?h=3.0-stable</id>
<link rel='self' href='https://git.neuromancer.sk/godot.git/atom/core/math/matrix3.h?h=3.0-stable'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/'/>
<updated>2018-01-02T18:02:19Z</updated>
<entry>
<title>Merge pull request #15083 from tagcup/spatial_rot_fix</title>
<updated>2018-01-02T18:02:19Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2018-01-02T18:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=14772d22136ac87e2bbf2b94639f79242330ae0a'/>
<id>urn:sha1:14772d22136ac87e2bbf2b94639f79242330ae0a</id>
<content type='text'>
Restore the behavior of Spatial rotations recently changed in c1153f5.</content>
</entry>
<entry>
<title>Update copyright statements to 2018</title>
<updated>2018-01-01T13:40:47Z</updated>
<author>
<name>Rémi Verschelde</name>
</author>
<published>2018-01-01T13:40:08Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=b50a9114b105dafafdda8248a38653bca314a6f3'/>
<id>urn:sha1:b50a9114b105dafafdda8248a38653bca314a6f3</id>
<content type='text'>
Happy new year to the wonderful Godot community!
</content>
</entry>
<entry>
<title>Restore the behavior of Spatial rotations recently changed in c1153f5.</title>
<updated>2017-12-27T21:40:49Z</updated>
<author>
<name>tagcup</name>
</author>
<published>2017-12-27T00:15:20Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=e9896b17a9804ba6392dab0bd6c484f4d2e294c1'/>
<id>urn:sha1:e9896b17a9804ba6392dab0bd6c484f4d2e294c1</id>
<content type='text'>
That change was borne out of a confusion regarding the meaning of "local" in #14569.

Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system.
This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself.

To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs.

This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale.

This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
</content>
</entry>
<entry>
<title>Change the rotate function of Spatial to be local, makes more sense. Closes #14569</title>
<updated>2017-12-26T15:45:56Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2017-12-26T15:44:58Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=c1153f5041f896536957b851329b5adaa1de6dc4'/>
<id>urn:sha1:c1153f5041f896536957b851329b5adaa1de6dc4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added Basis::get_quat() and set_quat().</title>
<updated>2017-10-11T20:56:47Z</updated>
<author>
<name>Ferenc Arn</name>
</author>
<published>2017-10-10T00:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=8861cc40fa79acd131875a556a8cf528384858ee'/>
<id>urn:sha1:8861cc40fa79acd131875a556a8cf528384858ee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>-Changed KinematicBody API yet again to make it friendlier</title>
<updated>2017-09-04T10:49:42Z</updated>
<author>
<name>Juan Linietsky</name>
</author>
<published>2017-09-04T10:48:14Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=6d233c651b21ecaef78fbb20d0365a22919b72b1'/>
<id>urn:sha1:6d233c651b21ecaef78fbb20d0365a22919b72b1</id>
<content type='text'>
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
</content>
</entry>
<entry>
<title>Add a new decomposition to Basis.</title>
<updated>2017-08-30T13:37:18Z</updated>
<author>
<name>Ferenc Arn</name>
</author>
<published>2017-08-25T19:45:21Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=5ad8d310f2a62a78a7d68bc169089b0f450dfe89'/>
<id>urn:sha1:5ad8d310f2a62a78a7d68bc169089b0f450dfe89</id>
<content type='text'>
This new decomposition splits the basis into a rotation-reflection matrix and a positive scaling matrix, which is required for physics calculations.
</content>
</entry>
<entry>
<title>Remove Basis::set_scale and Basis::set_rotation_* functions.</title>
<updated>2017-08-30T01:47:59Z</updated>
<author>
<name>Ferenc Arn</name>
</author>
<published>2017-08-30T01:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=a0bbf5c9afd0822d5f392c91fff37ecd4315647a'/>
<id>urn:sha1:a0bbf5c9afd0822d5f392c91fff37ecd4315647a</id>
<content type='text'>
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.

Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
</content>
</entry>
<entry>
<title>Use HTTPS URL for Godot's website in the headers</title>
<updated>2017-08-27T12:16:55Z</updated>
<author>
<name>Rémi Verschelde</name>
</author>
<published>2017-08-27T12:16:55Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=bd282ff43f23fe845f29a3e25c8efc01bd65ffb0'/>
<id>urn:sha1:bd282ff43f23fe845f29a3e25c8efc01bd65ffb0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use YXZ convention for Euler angles.</title>
<updated>2017-08-09T13:05:37Z</updated>
<author>
<name>Ferenc Arn</name>
</author>
<published>2017-08-09T02:55:52Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/godot.git/commit/?id=53c23b02226968d27e6caadcb801343697ac4fe9'/>
<id>urn:sha1:53c23b02226968d27e6caadcb801343697ac4fe9</id>
<content type='text'>
As discussed in issues #1479 and #9782, choosing the up axis (which is Y in Godot) as the axis of the last (or first) rotation is helpful in practical use cases.
This also aligns Godot's convention with Unity, helping with a smoother transition for people who are used to working with Unity (issue #9905).

Internally, both XYZ and YXZ functions are kept, for potential future applications.
</content>
</entry>
</feed>
