Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

【簡単】アバター Sit 判定の作り方

0
Last updated at Posted at 2026-11-02

はじめに

手順通りに真似するだけで、アバターに Sit 判定を簡単に仕込めます!

仕組みから解説した詳細な記事は既にありますが、

  • 楽に入れたい
  • とりあえず実装できればいい
  • 詳細な説明はちょっと何言っているか分からない

という方向けに、実装だけを簡潔に解説した記事です!

実装例の UnityPackage は、以下で配布しています。参考にしてください
GitHub

Booth

メインの実装

前提として、Modular Avatar (以下、MA) を導入してください

Game Object とコンポーネントの追加

空の Game Object を追加して、3 つのコンポーネント

  • VRC Station
  • Box Collider
  • MA Bone Proxy

を追加してください。
image.png
(Game Object「アバター椅子」に 3 つのコンポーネントをデフォルト状態で追加しただけ)

追加した Game Object の子に新たに空の Game Object を作ってください。
image.png
(空の Game Object「座る位置」を追加しただけ)

新たに追加した子オブジェクトの位置が、アバターの座る位置を表します

コンポーネントの設定

VRC Station

image.png
Player Mobility を Immobilize For Vehicle にして、
Player Enter Location に先ほど追加した子オブジェクト (画像では「座る位置」) をドラッグアンドドロップしてください。自動的に Transform コンポーネントとしてアタッチされます

Box Collider

Edit Collider の image.png を押して、「座るときにポインターを向けてハイライトされる Sit 判定の大きさ」を調整してください

image.png

Scene に緑色で表示される image.png image.png をドラッグすれば Box の大きさを調整できます。

Is Trigger をオン✅にしてください
image.png

多くの場合、Is Trigger はオフ▢でも機能します。

しかしアバターによっては、コライダージャンプと干渉して、アバターが空中にいるとき、明後日の方向に高速移動したりその場で高速回転したりする可能性があります。

Is Trigger はオン✅でも座る機能に差は無いので、念のためオンにすることをお勧めします

MA Bone Proxy

アバターの Armature 直下にある Hips を
image.png

ターゲット にドラッグアンドドロップしてください
image.png

コンポーネント設定のまとめ

3 つのコンポーネントを設定し終えると、次のようになります
image.png

座る位置の調整

今回は「おんぶ」の位置で座るように調整します。
肩車や手に座らせたいときは、座る位置や MA Bone Proxy のターゲットを適宜変更してください

子オブジェクトをドラッグして、座る位置を調整してください。
image.png
z 座標が正 (青) の矢印の先にかかとが来て、y 座標が正 (緑) の矢印の先に腰が来ます。

画像の赤い丸で囲った Sphere が子オブジェクトの位置を表しています。
VRChat_2026-11-01_17-11-32.296_1920x1080.png
画像のように、Sphere の右にかかとが来て、Sphere の上に腰が来ます

このとき何度かアバターをアップロードして、ゲーム内で座ってみて微調整することをお勧めします。

その際、この記事で解説している方法を使えば、一人で満足いくまで微調整できます!

以上でアバター椅子の実装は終了です。この時点で他のプレイヤーがあなたに快適に座ることができます。

ここからは追加的なギミックを作っていきます

椅子の有効・無効を切り替える (オンオフする)

新たに空の Game Object を追加して、3 つのコンポーネント

  • MA Menu Installer
  • MA Menu Item
  • MA Object Toggle

を追加してください
image.png

衣装オンオフのトグルを実装するときのように、新たに追加した Game Object を MA Object Toggle にアタッチしてください。

同様の方法は MA の公式ドキュメント でも解説されています

MA Object Toggle を使うこの方法では、
「椅子をオフにしたら座っていた人を強制的に降ろし、誰も乗れない状態にする」
という設定のみできます。

これは、Sit 判定を実装した Game Object を丸ごと無効化するしかないからです

次回解説する Animator Controller を使う方法では
「既に座っている人は降ろさず、その人が自分で降りた後に誰も乗れないようにする」
という設定ができます!

また、次回の記事では MA だけでは実装できないギミックも実装していきます!
フォローしてお待ちください!

(次回記事 URL 追加場所)

終わりに

MA Bone Proxy より VRC Parent Constraint の方が好きなんだよォーーー!!!
でも MA Bone Proxy の方が解説も読む側も楽なんだよォーーー!!!

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?