<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.vrchat.com/index.php?action=history&amp;feed=atom&amp;title=User%3AUsr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b%2FConstraints-ja</id>
	<title>User:Usr d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.vrchat.com/index.php?action=history&amp;feed=atom&amp;title=User%3AUsr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b%2FConstraints-ja"/>
	<link rel="alternate" type="text/html" href="https://wiki.vrchat.com/index.php?title=User:Usr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja&amp;action=history"/>
	<updated>2026-10-01T15:30:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.vrchat.com/index.php?title=User:Usr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja&amp;diff=155448&amp;oldid=prev</id>
		<title>Usr 0989410b-3f40-4981-bc23-03dcc11935a7: VRChatにおける用途の節に「武器の持ち替えやワールド固定、補助ボーン、人外アバター等で用いられる」旨の記述を追加</title>
		<link rel="alternate" type="text/html" href="https://wiki.vrchat.com/index.php?title=User:Usr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja&amp;diff=155448&amp;oldid=prev"/>
		<updated>2026-09-30T03:07:10Z</updated>

		<summary type="html">&lt;p&gt;VRChatにおける用途の節に「武器の持ち替えやワールド固定、補助ボーン、人外アバター等で用いられる」旨の記述を追加&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:07, 30 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== VRChatにおける用途 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== VRChatにおける用途 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;アバターに組み込んだアイテム（武器など）の持ち替え、ワールド固定、補助ボーン、通常の人体の構成を外れた（いわゆる「人外」）アバターの偽物の腕や身体の制御などに用いられる。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;VRChatのアバターでは、許可されたコンポーネント以外の任意のカスタムスクリプトを利用できない&amp;lt;ref name=&amp;quot;allowed-avatar-components&amp;quot;&amp;gt;[https://creators.vrchat.com/avatars/whitelisted-avatar-components/whitelisted-avatar-components/ Allowed Avatar Components | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。そのため、後述のVRChat Constraintsが導入される以前から、Unity標準のParent Constraintなどを仕込んでおき、擬似的にヒエラルキー上の親子関係を変更したような挙動を実現する手段が用いられていた。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;VRChatのアバターでは、許可されたコンポーネント以外の任意のカスタムスクリプトを利用できない&amp;lt;ref name=&amp;quot;allowed-avatar-components&amp;quot;&amp;gt;[https://creators.vrchat.com/avatars/whitelisted-avatar-components/whitelisted-avatar-components/ Allowed Avatar Components | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。そのため、後述のVRChat Constraintsが導入される以前から、Unity標準のParent Constraintなどを仕込んでおき、擬似的にヒエラルキー上の親子関係を変更したような挙動を実現する手段が用いられていた。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-155328:rev-155448:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Usr 0989410b-3f40-4981-bc23-03dcc11935a7</name></author>
	</entry>
	<entry>
		<id>https://wiki.vrchat.com/index.php?title=User:Usr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja&amp;diff=155328&amp;oldid=prev</id>
		<title>Usr d55a5e23-4ccd-4692-b9bb-f1beb1447e7b: Created page with &quot;{{DISPLAYTITLE:Constraints-ja}}  Note: This page is &#039;&#039;&#039;NOT&#039;&#039;&#039; in the &#039;&#039;official&#039;&#039; namespace yet, and is subject to &#039;&#039;&#039;change&#039;&#039;&#039;.  &#039;&#039;&#039;コンストレイント&#039;&#039;&#039;とは、Unityにおいてゲームオブジェクトの位置、回転、スケールなどを他のゲームオブジェクトに関連付けるためのコンポーネント群である&lt;ref name=&quot;unity-constraints&quot;&gt;[https://docs.unity3d.com/ja/2022.3/Manual/Constraints.ht...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.vrchat.com/index.php?title=User:Usr_d55a5e23-4ccd-4692-b9bb-f1beb1447e7b/Constraints-ja&amp;diff=155328&amp;oldid=prev"/>
		<updated>2026-09-29T07:52:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{DISPLAYTITLE:Constraints-ja}}  Note: This page is &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; in the &lt;a href=&quot;/wiki/VRCWiki:How_to_Contribute#Namespace&quot; title=&quot;VRCWiki:How to Contribute&quot;&gt;&amp;#039;&amp;#039;official&amp;#039;&amp;#039; namespace&lt;/a&gt; yet, and is subject to &amp;#039;&amp;#039;&amp;#039;change&amp;#039;&amp;#039;&amp;#039;.  &amp;#039;&amp;#039;&amp;#039;コンストレイント&amp;#039;&amp;#039;&amp;#039;とは、Unityにおいてゲームオブジェクトの位置、回転、スケールなどを他のゲームオブジェクトに関連付けるためのコンポーネント群である&amp;lt;ref name=&amp;quot;unity-constraints&amp;quot;&amp;gt;[https://docs.unity3d.com/ja/2022.3/Manual/Constraints.ht...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:Constraints-ja}}&lt;br /&gt;
&lt;br /&gt;
Note: This page is &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; in the [[VRCWiki:How_to_Contribute#Namespace|&amp;#039;&amp;#039;official&amp;#039;&amp;#039; namespace]] yet, and is subject to &amp;#039;&amp;#039;&amp;#039;change&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;コンストレイント&amp;#039;&amp;#039;&amp;#039;とは、Unityにおいてゲームオブジェクトの位置、回転、スケールなどを他のゲームオブジェクトに関連付けるためのコンポーネント群である&amp;lt;ref name=&amp;quot;unity-constraints&amp;quot;&amp;gt;[https://docs.unity3d.com/ja/2022.3/Manual/Constraints.html Unity - マニュアル: Constraints], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
VRChatはUnity標準のコンストレイント (以下、本稿では便宜的に&amp;#039;&amp;#039;&amp;#039;Unity Constraints&amp;#039;&amp;#039;&amp;#039;と呼ぶ) に加え、独自実装である&amp;#039;&amp;#039;&amp;#039;VRChat Constraints&amp;#039;&amp;#039;&amp;#039;を提供している。VRChat ConstraintsはUnity標準の6種類&amp;lt;ref name=&amp;quot;unity-constraints&amp;quot; /&amp;gt;のコンストレイントに相当する機能を提供し、VRChatでの利用に合わせた追加機能を持つ&amp;lt;ref name=&amp;quot;vrchat-constraints&amp;quot;&amp;gt;[https://creators.vrchat.com/common-components/constraints/ Constraints | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 前史 ==&lt;br /&gt;
&lt;br /&gt;
VRChatの初期では、後にUnity 2018.1で導入されるUnity標準のコンストレイント自体がまだ存在していなかった&amp;lt;ref&amp;gt;[https://unity.com/releases/editor/whats-new/2018.1.0f1 Unity 2018.1.0f1], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://discussions.unity.com/t/constraints-animation-feature-feedback/678132/17 Constraints - Animation feature - Feedback - Unity Discussions], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
Unity標準のコンストレイントがアバターで利用可能になったのは、VRChatがUnity 2018へ移行した2020年である&amp;lt;ref name=&amp;quot;patch-2020&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/patch-notes-2020 Patch Notes - 2020], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
しかし、それ以前にも、アバターに含まれるオブジェクトをワールド空間に固定する、いわゆる「ワールド固定」を実現するために複数の手法が用いられていた&amp;lt;ref name=&amp;quot;yf2018-fix&amp;quot;&amp;gt;[https://jellyfish-qrage.hatenablog.com/entry/2018/07/26/025810 アイテムをアバターから切り離しワールド固定にする方法（パーティクル不使用版）【VRChat技術情報】 - VRChatパブリックログ], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
* 2018年には、Particle SystemのSimulation SpaceをWorldに設定し、Particle System Rendererで任意のメッシュを描画することで、アバターの移動から独立してパーティクルをワールド空間上に残す手法が用いられていた&amp;lt;ref&amp;gt;[https://bironist.hatenablog.com/entry/2018/10/04/191804 VRChatでマヨネーズを絞り出す（ワールド座標パーティクル解説） - ビログ], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://vrcworld.wiki.fc2.com/wiki/%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%AF%E3%83%AB%E8%8A%B8%E4%BE%8B パーティクル芸例 - VRChat 技術メモ帳 - VRChat tech notes], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://jellyfish-qrage.hatenablog.com/entry/2018/08/04/032351 伸縮するワイヤーの表現方法（＆物置きの応用）【VRChat技術情報】 - VRChatパブリックログ], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。さらにParticle System RendererをMeshに設定し、任意のメッシュをパーティクルとして生成することで、アバターから独立したオブジェクトのように扱う方法も用いられていた&amp;lt;ref&amp;gt;[https://bironist.hatenablog.com/entry/2019/02/02/192958 VRChatでみんなにおにぎりを配る（メッシュパーティクルで複数同時ワールド固定解説） - ビログ], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。2018年の日本語記事では、このような「ワールド座標シミュレーションのメッシュパーティクル」が、それまでワールド座標へ固定されたオブジェクトを表現する一般的な手法であったとされている&amp;lt;ref name=&amp;quot;yf2018-fix&amp;quot; /&amp;gt;。この方式では同一のメッシュを複数生成できる一方、複雑なGameObjectをそのまま配置できないことや、メッシュの姿勢の扱いなどに制約があった&amp;lt;ref name=&amp;quot;yf2018-fix&amp;quot; /&amp;gt;。&lt;br /&gt;
* 同時期、RigidbodyおよびFixed Jointを利用してゲームオブジェクトそのものをワールド空間に固定する方法が利用されていた。Connected Bodyを指定しないFixed Jointを利用して仮想的なワールド座標系を作り、Rigidbodyの&amp;lt;code&amp;gt;Is Kinematic&amp;lt;/code&amp;gt;を切り替えることで、オブジェクトの固定とアバターへの追従を切り替えるものであった&amp;lt;ref name=&amp;quot;yf2018-fix&amp;quot; /&amp;gt;。 この方式はVRChatの更新やワールドの設定などによって正常に動作しない場合があった&amp;lt;ref name=&amp;quot;fixed-joint-breakage&amp;quot;&amp;gt;[https://vrchat.canny.io/bug-reports/p/fixed-jointrigid-body-dragangular-drag-problem Fixed Joint/Rigid Body Drag/Angular Drag Problem | Bug Reports | VRChat], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2018年4月24日、VRChat 2018.1.1とともに配布されたSDKに、アバター上のワールド空間Particle SystemをIK計算後のボーン位置へ追従させるための&amp;lt;code&amp;gt;VRC_IKFollower&amp;lt;/code&amp;gt;コンポーネントが追加された&amp;lt;ref name=&amp;quot;patch-2018&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/patch-notes-2018 Patch Notes - 2018], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;component-ikfollower&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/vrc_ikfollower VRC_IKFollower], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://vrcprog.hatenablog.jp/entry/component-IKFollower VRC_IKFollower - Programming in VRChat], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。日本語圏でも、&amp;lt;code&amp;gt;VRC_IKFollower&amp;lt;/code&amp;gt;を利用するワールドパーティクルの作成方法が紹介されていた。しかし、&amp;lt;code&amp;gt;VRC_IKFollower&amp;lt;/code&amp;gt;は特定の階層以下に入れると視界に表示されなくなるという制約が存在した&amp;lt;ref&amp;gt;[https://x.com/gend_VR/status/1030244550680297472 元怒 (@gend_VR) on X], accessed September 29, 2026.&amp;lt;/ref&amp;gt;&amp;lt;ref group=&amp;quot;注&amp;quot;&amp;gt;この現象は、[https://creators.vrchat.com/avatars/avatar-components/vrc-headchop/ Head Chopコンポーネントのドキュメンテーション] に存在する「When wearing an avatar, VRChat automatically &amp;quot;chops off&amp;quot; the avatar&amp;#039;s head bone by setting its transform scale to almost 0.」の影響を受けていた可能性がある&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* Unity標準のコンストレイントが利用可能になる以前には、Fixed Jointのほか、有料Unityアセットの[[Community:Final IK|Final IK]]をワールド固定に利用する方法も存在した&amp;lt;ref&amp;gt;[https://qiita.com/Super_Amatou_VR/items/4b5eb1a7aeaf0535a80f VRCでFinal_IKを使う（初心者向け？） - Qiita], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。2019年に公開され、2020年5月に更新された日本語の記事では、日本語圏ではFixed Jointを利用する方式が比較的多かったとされている&amp;lt;ref&amp;gt;[https://fley-kousatu.hatenablog.com/entry/2019/09/10/125100 パーティクルライブ・パリピ砲 作成の基礎知識について - バーチャル思考実験室], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2020年4月1日にリリースされたVRChat 2020.1.1では、VRChatのUnityバージョンがUnity 2018.4.20f1へ更新され、Aim Constraint、Look At Constraint、Parent Constraint、Position Constraint、Rotation ConstraintおよびScale ConstraintがSDK2のアバター用allowlistに追加された&amp;lt;ref name=&amp;quot;patch-2020&amp;quot; /&amp;gt;。これ以降、Unity標準のコンストレイントを利用したワールド固定などの手法が用いられるようになった。&lt;br /&gt;
** 2020年4月3日に公開された日本語の解説記事では、それ以前のFixed Joint方式と比較し、Constraintを利用する方式はワールド側の設定によって壊れないことが利点として挙げられている&amp;lt;ref name=&amp;quot;note-berylmoon&amp;quot;&amp;gt;[https://note.com/berylmoon/n/neb481c4f1f9d VRCでConstraintを使ったワールド固定＆ピックアップ(Unity2018対応)｜Beryllin], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== VRChatにおける用途 ==&lt;br /&gt;
&lt;br /&gt;
VRChatのアバターでは、許可されたコンポーネント以外の任意のカスタムスクリプトを利用できない&amp;lt;ref name=&amp;quot;allowed-avatar-components&amp;quot;&amp;gt;[https://creators.vrchat.com/avatars/whitelisted-avatar-components/whitelisted-avatar-components/ Allowed Avatar Components | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。そのため、後述のVRChat Constraintsが導入される以前から、Unity標準のParent Constraintなどを仕込んでおき、擬似的にヒエラルキー上の親子関係を変更したような挙動を実現する手段が用いられていた。&lt;br /&gt;
&lt;br /&gt;
ここでいう「擬似的」とは、実際にTransformの親子関係を変更するのではなく、コンストレイント対象のTransformの位置や回転を、指定したソースの子であるかのように評価することを指す。UnityのParent Constraintも、対象をHierarchy上で実際に子へ移動することなく、ソースの子であるかのように移動・回転させる&amp;lt;ref name=&amp;quot;unity-parent&amp;quot;&amp;gt;[https://docs.unity3d.com/ja/2022.3/Manual/class-ParentConstraint.html Unity - マニュアル: Parent Constraint], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
また、複数のUnity Constraintsを組み合わせ、アバター上のオブジェクトをワールド空間上の位置に固定する、いわゆる「World Constraint」も用いられていた。VRChatは後に、この用途を単一のコンストレイントで実現する&amp;lt;code&amp;gt;Freeze To World&amp;lt;/code&amp;gt;をVRChat Constraintsへ追加している&amp;lt;ref name=&amp;quot;dev-20240530&amp;quot;&amp;gt;[https://ask.vrchat.com/t/developer-update-30-may-2024/24821 Developer Update - 30 May 2024 - Dev Updates - VRChat Ask Forum], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
VRChat Constraintsでは、このほか&amp;lt;code&amp;gt;Solve In Local Space&amp;lt;/code&amp;gt;によるローカル空間での計算や、コンポーネント自身とは異なるTransformを操作対象にする&amp;lt;code&amp;gt;Target Transform&amp;lt;/code&amp;gt;など、Unity標準のコンストレイントにはない機能も提供されている&amp;lt;ref name=&amp;quot;vrchat-constraints&amp;quot; /&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 歴史 ==&lt;br /&gt;
&lt;br /&gt;
* 2024年5月2日: VRChatは、Unity標準のコンストレイントと同様に動作しながら、VRChatのアバター向けに最適化された独自のコンストレイントコンポーネントを開発中であることを発表した。また、Unity Constraintsをゲーム内で自動的にVRChat Constraintsへ変換する予定であることや、&amp;lt;code&amp;gt;Solve In Local Space&amp;lt;/code&amp;gt;もこの時点で紹介された&amp;lt;ref name=&amp;quot;dev-20240502&amp;quot;&amp;gt;[https://ask.vrchat.com/t/developer-update-2-may-2024/24284 Developer Update - 2 May 2024 - Dev Updates - VRChat Ask Forum], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2024年5月30日: VRChat Constraintsの詳細な仕様が発表された。当初は複数の挙動を1つのコンポーネントで扱う実装だったものが、Unity標準のコンストレイントと同様に複数種類のコンポーネントへ分割された。また、SDKによるUnity Constraintsの自動変換や、&amp;lt;code&amp;gt;Freeze To World&amp;lt;/code&amp;gt;などが紹介された。この時点で開発は内部QAの終盤にあり、同年7月の公開を予定していた&amp;lt;ref name=&amp;quot;dev-20240530&amp;quot; /&amp;gt;。&lt;br /&gt;
* 2024年7月24日: VRChat 2024.3.1 Build 1480のOpen BetaにVRChat Constraintsが導入された。VRChatはUnity標準実装より高い性能を特徴として挙げ、モバイル向けアバターでも利用可能になるとしていた。また、SDKによるUnity Constraintsからの自動変換もベータテストされた&amp;lt;ref name=&amp;quot;client-202431-beta&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/vrchat-202431beta VRChat 2024.3.1 (BETA)], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2024年8月14日: VRChat 2024.3.1 Build 1490が正式リリースされ、VRChat Constraintsがクライアントへ導入された。既存のアバターに含まれるUnity Constraintsについても、アバターのロード時にVRChat Constraintsへ自動変換されるようになった&amp;lt;ref name=&amp;quot;client-202431&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/vrchat-202431 VRChat 2024.3.1], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2024年8月16日: [[VRChat SDK]] version 3.7.0がリリースされ、アバター制作者がVRChat Constraintsを直接利用できるようになった。既存のUnity ConstraintsをSDK上で変換する機能も提供された&amp;lt;ref name=&amp;quot;sdk-370&amp;quot;&amp;gt;[https://creators.vrchat.com/releases/release-3-7-0/ Release 3.7.0 | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2025年7月31日: VRChatは、PhysBonesおよびContactsとともにVRChat Constraintsをワールドでも利用できるようにする計画を発表した。また、ワールドではUdonからこれらのコンポーネントを操作できるようにする方針も示された&amp;lt;ref name=&amp;quot;dev-20250731&amp;quot;&amp;gt;[https://ask.vrchat.com/t/developer-update-31-july-2025/45861 Developer Update - 31 July 2025 - Dev Updates - VRChat Ask Forum], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2025年9月中旬頃: World Dynamicsのclosed community betaが開始され、PhysBones、Contacts、VRChat Constraintsのワールド対応についてコミュニティによるテストが行われた。9月25日のDeveloper Updateでは、約1週間前からclosed community betaを実施していると説明された&amp;lt;ref name=&amp;quot;dev-20250925&amp;quot;&amp;gt;[https://ask.vrchat.com/t/developer-update-25-september-2025/46733 Developer Update - 25 September 2025 - Dev Updates - VRChat Ask Forum], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2025年10月24日: [[VRChat SDK]] version 3.10.0がリリースされ、VRChat Constraintsを含むVRChat Dynamicsがワールドプロジェクトで利用可能になった。これらをUdonから操作するAPIおよびイベントも追加された。このリリースはベータ期間中にはversion 3.9.1として開発されていたが、互換性のないAPI変更のため3.10.0へ変更された&amp;lt;ref name=&amp;quot;sdk-3100&amp;quot;&amp;gt;[https://creators.vrchat.com/releases/release-3-10-0/ Release 3.10.0 | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 2025年11月3日: VRChat 2025.4.1 Build 1749が正式リリースされ、ワールド上のPhysBones、ContactsおよびVRChat Constraintsにクライアントが正式対応した&amp;lt;ref name=&amp;quot;client-202541&amp;quot;&amp;gt;[https://docs.vrchat.com/docs/vrchat-202541 VRChat 2025.4.1], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== トリビア ==&lt;br /&gt;
&lt;br /&gt;
* [[VRChat SDK]]の「Auto Fix」を使うと、アップロード対象のアバターに含まれるUnity ConstraintsをVRChat Constraintsへ変換できる。この変換では、コンストレイント本体だけでなく、それを参照しているアニメーションクリップのバインディングも変換できる。SDK内部では&amp;lt;code&amp;gt;VRC.SDK3.Avatars.AvatarDynamicsSetup&amp;lt;/code&amp;gt;クラスの変換処理が利用されている&amp;lt;ref name=&amp;quot;constraints-api&amp;quot;&amp;gt;[https://creators.vrchat.com/common-components/constraints/constraints-api/ Constraints API | VRChat Creation], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* [[Community:Modular Avatar|Modular Avatar]]の&amp;lt;code&amp;gt;Convert Constraints&amp;lt;/code&amp;gt;コンポーネントでも、Unity Constraintsおよびそれを参照するアニメーションをビルド時に非破壊的にVRChat Constraintsへ変換できる。Modular Avatarがインストールされている場合、VRChat SDKのAuto Fixは必要に応じてこのコンポーネントをアバターのルートへ追加する&amp;lt;ref name=&amp;quot;ma-convert&amp;quot;&amp;gt;[https://modular-avatar.nadena.dev/docs/reference/convert-constraints Convert Constraints | Modular Avatar], accessed September 29, 2026.&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* VRChat Constraintsでは、1つのコンストレイントに17個以上のソースを持たせること自体は可能である。ただし、アバターでは[[Animators|Animator]]から操作できるのはSourcesリストの先頭16個までに制限されている&amp;lt;ref name=&amp;quot;constraints-api&amp;quot; /&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 参考資料 ==&lt;br /&gt;
&lt;br /&gt;
* [https://creators.vrchat.com/common-components/ Common Components | VRChat Creation], accessed September 29, 2026.&lt;br /&gt;
* [https://creators.vrchat.com/releases/ VRChat SDK Releases | VRChat Creation], accessed September 29, 2026.&lt;br /&gt;
&lt;br /&gt;
== 注釈 ==&lt;br /&gt;
&amp;lt;references group=&amp;quot;注&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 出典 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Usr d55a5e23-4ccd-4692-b9bb-f1beb1447e7b</name></author>
	</entry>
</feed>