﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3APepribal%2FRef%2FAppendices%2FParentInverse</id>
	<title>利用者:Pepribal/Ref/Appendices/ParentInverse - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3APepribal%2FRef%2FAppendices%2FParentInverse"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pepribal/Ref/Appendices/ParentInverse&amp;action=history"/>
	<updated>2026-06-02T10:59:07Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pepribal/Ref/Appendices/ParentInverse&amp;diff=135497&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pepribal/Ref/Appendices/ParentInverse&amp;diff=135497&amp;oldid=prev"/>
		<updated>2018-06-28T20:48:06Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 20:48時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pepribal/Ref/Appendices/ParentInverse&amp;diff=135496&amp;oldid=prev</id>
		<title>2014年11月30日 (日) 12:48にwiki&gt;Pepribalによる</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Pepribal/Ref/Appendices/ParentInverse&amp;diff=135496&amp;oldid=prev"/>
		<updated>2014-11-30T12:48:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==The parent inverse matrix==&lt;br /&gt;
At the very moment of establishing a hierarchical relationship between objects (parenting), the transformation coordinates of the child object remain unchanged, and yet this object doesn't change its global transforms visually (location, orientation or scale), though its reference &amp;quot;world&amp;quot; has changed from global origin (zero transforms) to the global transforms of the parent.&lt;br /&gt;
&lt;br /&gt;
Origin of unparented objects is the global origin: global (0,0,0) location, zero rotation, and unity scale. After being parented, the new origin should be that of the parent. And it is. But a '''correction matrix is applied to the child''', so that the new reference point is not the global transforms of the parent, but the global origin. This correction matrix is applied to the global transforms of the parent before applying them to the child.&lt;br /&gt;
&lt;br /&gt;
That correction matrix is the ''parent inverse'' matrix, and it corrects the transform coordinates of the parent (position, rotation and scale), to take the reference point of the child back to the '''global origin'''. Further transform modifications of the parent will not change the ''parent inverse'' of that child any more, so from the moment of parenting on, this correcting matrix will remain constant (unless changed specifically). So after parenting, children will keep following further parent transformations. Keep in mind that the correcting matrix is applied and belongs to the child objects, though its value depends on the values that the parent transforms had '''at the very moment of parenting'''.&lt;br /&gt;
&lt;br /&gt;
'''The exact value of the Parent Inverse matrix of a child object is the inverse of the global transformation matrix of the parent at the very moment of parenting, and it remains unchanged unless we specifically change it'''.&lt;br /&gt;
&lt;br /&gt;
If we clear that correcting matrix on a child object, the origin of that child objects will effectively be the parent's global location, rotation and scale. Bear in mind that at the same time the parent might have its own parent, and so, it might also have a correcting matrix.&lt;br /&gt;
&lt;br /&gt;
==Python object transformation properties==&lt;br /&gt;
&lt;br /&gt;
Objects store their transformation coordinates in a 4x4 matrix. To access that matrix, you can use the property ''matrix_basis''. Basicly it stores the information you find in the {{Literal|Transform}} panel in the {{Literal|Properties}} sidebar of the {{Literal|3D View}} editor. You can also access the transformation properties for location (''location''), rotation (''rotation_axis_angle'', ''rotation_euler'' or ''rotation_quaternion'', depending on the value of ''rotation_mode'') or scale (''scale'').&lt;br /&gt;
&lt;br /&gt;
The objects also have a property that stores the parent inverse correcting matrix. That property is ''matrix_parent_inverse''. If the object has no parent or it has its parent inverse cleared, this matrix equals the ''unit matrix'', so that multiplying any transformation matrix by this unit matrix will return the first one unchanged.&lt;br /&gt;
&lt;br /&gt;
In addition, there is another object property, ''matrix_local'' that stores the result of multiplying ''matrix_basis'' by ''matrix_parent_inverse''. If the object has a cleared parent inverse, then ''matrix_local'' equals ''matrix_basis''. This property shows the object transformation coordinates from the global coordinates of its parent (or from the global origin if it has no parent).&lt;br /&gt;
&lt;br /&gt;
Finally, there is ''matrix_world'', that reflects the global transformation of the object, using the ''matrix_world'' of the parent for its calculation (if there is one).&lt;br /&gt;
&lt;br /&gt;
In summary:&lt;br /&gt;
* ''matrix_basis'' = object transform coordinates&lt;br /&gt;
* ''matrix_parent_inverse'' = object correcting matrix&lt;br /&gt;
* ''matrix_local'' = ''matrix_parent_inverse'' x ''matrix_basis''&lt;br /&gt;
* ''matrix_world'' = parent's ''matrix_world'' (or global origin) x ''matrix_local''&lt;/div&gt;</summary>
		<author><name>wiki&gt;Pepribal</name></author>
		
	</entry>
</feed>