LimitRotationConstraint

説明
紹介動画のようにVRC Constraintを多段に組み合わせてVRC上で初期位置より90度まで曲がる角度制限RotationConstraintを再現したプレハブとなります。 PhysBoneは使っていません。 RotationConstraintを使っていて角度制限欲しいなという方向けで 導入には少なくともRotationConstraintに関して十分な理解が必要になります。 導入に関してこちらの説明文のみの説明でお問い合わせでのサポートは行えませんので予めご了承ください。 わかる人なら実際動かしてみれば大体わかると思います。
★商品説明 現在2つのパッケージがあります。 ・BASIC 基本となるプレハブのみの商品で非商用(Boothでの売り上げがおおむね年20万円程度まで)およびテスト用ライセンスとなります。 下記の+PROでも導入サポート等行えませんのでまずはこちらを購入の上導入できるかかご確認ください。わからなければあきらめてください。 ・+PRO おまけのプレハブおよび商用ライセンスとなります。BASICのプレハブは含まれません。 追加分のプレハブが欲しい場合及び商用でご利用いただきたい方は上記のBASICでご確認の上こちらをご利用ください。 現在90度以外に角度が調整できるものとヒンジ動作の簡易版が付属しています。詳細は同梱のReadmeをご確認ください。 売上次第で追加されますのでよろしくお願いします。
★導入方法 改造コンポーネント等ではなく角度制限Constraintの動きをするようVRC Constraintを組み合わせたゲームオブジェクトのプレハブとなります。 通常RotationConstraintで追従させる箇所にこちらのプレハブのInputとOutputを挟ませることにより角度制限ができます。 Solve In Local Spaceの仕様がわかればArmatureの外でも中でも置けますがわからない場合は使いたいカ所に置くのがわかりやすいかと思います。 インポートすると/Foxhouse/LimitRotation/下に各プレハブがあります。 プレハブにはテスト用に入力用・出力用・制限角度の確認用のCubeが入っているためこちらで確認しながら実装した上ででこちらは削除してください。 上側に出てる永細い棒が入力確認用のCubeです。 一番外側の平べったいものが角度制限の目安のCubeです。 真ん中のものが出力確認用のCubeです。 ①まずプレハブを使いたいカ所に置き全体を回転させて入力確認用のCubeを対象のボーン等に合わせプレハブ内InputのVRC Rotation Constraintのソースに対象をアタッチしActivateします。 ②次にプレハブ中のAngleAdustを回転させて平たいCube目安にを角度制限のかかる面を指定します。 ③追従させたい先のボーンにRC Rotation Constraintを追加しプレハブ内のOutputをソースにアタッチしてActivateします。 以上で角度制限付きで追従できますが処理の簡略化の都合上入力軸のZ回転方向で制限角度が強くなるとY軸回転があやふやになる仕様になっているため都合が悪い場合一度InputとOutputのInActiveを解除し調整しなおしてください。 最後に確認用のCubeを消して完了です。 ※作品に組み込む際は原則プレハブを一度アンパックしてください。配布物の中に/Foxhouse/Prefab/下の物が含まれないようにしてください。
★注意事項 ・こちらは学習目的用ではありません。対象に組み込んで使うためのものであり同様の仕組みを作れるようになるためのものではありません。 ・それなりの数のConstraintを多段に使っています。多用するとConstraint CountおよびDepthが膨大になりますので加減してください。 ・処理の簡略化の都合で制限角度以降でも微動しますが仕様です。 ・VRC Constraint独自の仕様を利用しているためUnity標準のConstraintに変換しても動きません。 ・調整はしましたが若干Constraintを多段に利用した場合のぎくしゃくした感じが残っていますが仕様です。
★FAQ Q1.どうしてサポートが行えないんですか? A1.入れれば動くというものでなくそれなりに特殊用途なため人によって前提条件としての知識の習得状況が異なり応答コストが予想できず価格に含めることができないためです。 Q2.どういった動作原理ですか? A2.入力ベクトルを二値化しそれを利用して入力ベクトルと制限されたベクトルを入れ替えています。