カフェの椅子に座 って話したり、ベンチから景色を眺めたり。VRChatのワールドには、座って過ごす場所がよくあります。こうした椅子を作るときに使うのが Station です。
この記事では、Stationの仕組みをつかんでから、SDK付属の椅子を一脚置いてみます。座るだけでなく、立ったときにどこへ出るかも調整してみましょう。コードを書かずに試せる内容です。

この記事でわかること
- 見た目のモデルと、座る仕組みが別であること
- SDK付属の椅子を置いて座るまでの手順
- SeatとExitで、座る位置と立つ場所を別々に調整する方法
- 机のそばに椅子を置くときの工夫
Stationは 「座る場所」を決める仕組み
椅子の3Dモデルを置くと、ワールドに椅子の形が現れます。ただ、その見た目だけではプレイヤーは座れません。「ここに座る」という位置や、操作したときに着席させる仕組みも必要です。
VRC Station は、プレイヤーが座る位置や、立った後の位置を指定するための部品です。椅子の見た目とは別に設定するので、座面に合わせて座る位置を調整したり、立った人が机と重ならない場所へ出るようにしたりできます。

SDKに入っている VRCChair3 は、次のものを組み合わせた椅子のサンプルです。
- 椅子のモデル:ワールドに表示する見た目。
- 操作用の当たり判定とUdonの処理:椅子を「使う」操作を受け付け、プレイヤーを座らせる。
- VRC Station:座っている間の位置や、退出するときの位置を決める。
これらを組み立てた状態で保存したものを、Unityでは Prefab(プレハブ)と呼びます。VRCChair3なら、配置するだけで座る仕組みも一緒に用意できます。まずはこのサンプルで、椅子の基本的な動きを試してみましょう。
実践:SDKの椅子を置いて座ってみる
ここでは、歩ける床の上に椅子を一脚置きます。Worlds SDKが入ったUnityプロジェクトを使います。環境の準備がまだなら、ALCOM・VCCでのセットアップで導入方法を確認できます。
1. 床と出現場所を用意する
「File → New Scene」でBuilt-inの基本シーンを作り、Assets内へ ChairPractice.unity として保存します。Hierarchy(シーン内の物の一覧)にあるMain Cameraは削除し、Directional Lightは残してください。プレイヤーのカメラは、後で使うClientSimが用意します。
Hierarchyの空白を右クリックし、「3D Object → Cube」で箱を作って Floor と名付けます。Inspector(選んだ物の設定欄)の「Transform」で、位置と大きさを次のように設定します。数値はX・Y・Zの順です。
| 項目 | 値 |
|---|---|
| Position(位置) | (0, -0.1, 0) |
| Rotation(回転) | (0, 0, 0) |
| Scale(大きさ) | (6, 0.2, 6) |
これで、上面の高さが0になる6m四方の床になります。Cubeに最初から付いている「Box Collider」は、プレイヤーを床の上に立たせる当たり判定です。初期設定のまま残しておきます。

次に、Project(素材の一覧)で、次のフォル ダを開きます。
Packages → VRChat SDK - Worlds → Samples
→ UdonExampleScene → Prefabs
中にある VRCWorld をHierarchyの空白へドラッグしてください。これは、ワールドの出現場所などを設定するPrefabです。Positionを (0, 0.1, -2)、Rotationを (0, 0, 0) にすると、新規追加時の設定では、ここからプレイヤーが出現します。
同じVRCWorldの「VRC Scene Descriptor」で、Respawn Heightを -5 にしておきます。床から落ちたとき、この高さを下回ると出現場所へ戻れます。
2. SDKの椅子を配置する
先ほどの「Prefabs」内で「VRCChair」フォルダを開き、VRCChair3 をHierarchyの空白へドラッグします。Hierarchy側の椅子を選び、Transformを次のように設定してください。
| 項目 | 値 |
|---|---|
| Position | (0, 0.75, 1) |
| Rotation | (0, 0, 0) |
| Scale | (1, 1, 1) |
高さの 0.75 は、このSDKの椅子に合わせた配置例です。Scene画面で F を押すと、選んだ椅子を画面の中央に表示できます。床の奥に椅子があり、手前から歩いて近づける配置になっています。
3. 近づいて、座ってみる
シーンを保存して、Unity上部のPlayボタンを押します。SDKに含まれる ClientSim は、Unity内でVRChatの移動や物の操作を試せる機能です。今回はこれを使って座る動きを確認します。
Game画面をクリックし、W・A・S・D で椅子へ近づきます。マウスで照準を合わせ、「Use」の操作表示が出たら左クリ ックしてください。これが Interact、目の前の物を「使う」操作です。VRCChair3では、これをきっかけにStationへ座らせる処理が動きます。
座れたら移動キーを押して、立ってみましょう。椅子の前へ出て、再び歩ける状態になれば基本の動きを確認できています。Useが出ない場合は、もう少し近づき、背もたれ付近にも照準を合わせてみてください。
座る位置と、立つ場所を調整する
カフェの机に椅子を寄せると、立った人が机と重なることがあります。こんなときは椅子全体を動かすほかに、立つ場所だけを調整する方法もあります。
Playを止めてから、HierarchyでVRCChair3の左の三角を開いてみましょう。子にある Seat と Exit が、位置を指定する目印です。親のVRCChair3を選ぶと、Inspectorの「VRC Station」で、どの目印を使うか確認できます。
| VRC Stationの設定欄 | 指定されている目印 | 役割 |
|---|---|---|
| Station Enter Player Location | Seat | 座るときの基準位置 |
| Station Exit Player Location | Exit | 立った直後の位置 |
座る位置を上げたいならSeat、立つ場所を横へずらしたいならExitを動かします。椅子全体を動かす場合は、親のVRCChair3を動かせば、二つの目印も一緒についてきます。
Exitを横へずらしてみる
今回は Exit を選び、TransformのPositionのXを 0 から 0.5 に変えます。YとZはそのままです。子のPositionは親から見た位置なので、椅子を基準にして横へ0.5mずらすことになります。

もう一度Playして座り、移動キーで立ってみてください。椅子は同じ場所にあるのに、立った直後の位置が少し横へ変わるはずです。机の横に空きがあるなら、そこへ出られるようにExitを配置すると、立った後も歩き出しやすくなります。
調整はPlayを止めた状態で行い、シーンを保存してください。Play中に変えた値は、停止すると元に戻ります。また、座り姿勢はアバターによって変わるため、自分のワールドに使う際は実際のVRChatでも座り心地を確かめましょう。
おまけ:先に知っておくと良いこと
- 座り姿勢はアバターで変わる: 同じ椅子でも、身長の違うアバターでは足の位置や目線が変わります。厳密に合わせようとせず、だいたい座って見えれば十分です
- 座ったまま操作できるか確かめる: 席の正面にボタンやパネルを置くなら、座った状態の目線から届くかを試します。立っているときと座っているときで、届く高さが変わります
- 自作のモデルにも付けられる: 自分で用意した椅子のモデルに VRC Station を追加して、SeatとExitを置けば、同じように座れるようになります
- 座る向きは会話に効く: 2脚を向かい合わせにするか横並びにするかで、その席での過ごし方が変わります。入口から席までの導線 で扱っています
- 乗り物にも同じ仕組みを使う: 座ったまま動かしたいときも Station が土台になります。動かす部分は別に作ります
まとめ
VRChatの椅子は、見た目のモデルと座る仕組みの組み合わせです。
- 椅子のモデルを置いただけでは座れない。Stationが必要
- SDK付属のVRCChair3なら、置くだけで座る仕組みまでそろう
Seatが座る位置、Exitが立った直後の位置。別々に調整できる- 椅子を動かさずに、立つ場所だけをずらせる
置いたあとの問いかけは、「座ってから立って、そのまま歩き出せるか」 です。机や壁に挟まれないなら合格です。
席の配置を考えるなら 入口から席までの導線、押せるボタンを足すなら ボタンで切り替える へ進んでください。