0
1

More than 3 years have passed since last update.

Sampleを参考にVRchatでworldを作成する

Last updated at Posted at 2020-05-29

VRChatSDKを理解する

既に同様の記述は有志wikiなどにも有るが、備忘録として記述。
https://docs.vrchat.com/docs/creating-your-first-world
をよく読んで準備作業をおこなう。

環境

unity2018f4.20
vrChatsdk2

やること

VRchatWorld製作
Sampleの内容理解

手順

assetのcustomimportからVRCSDKをimportする

Assets/VRChat Examples/Examples2/Scenes/Example-Prefabs.unityをHierarchyへドラッグ

image.png

VRCWorld

SDKの中にあるVRWorld

image.png

Swaons

プレイヤーの出現位置

デフォルトでは、VRCWorldプレハブは、ユーザーがその場所にスポーンするようになっています。
これは最もシンプルな設定で、ほとんどのユーザーが採用している設定です。

とあるため、特に必要がある場合以外はそのままで良い。

swaon order

スポーンの順序を設定可能

First - 常に最初のスポーンを使用。
シーケンシャル - スポーンがリストアップされている順に使用。
ランダム - ランダムにユーザーをスポーン。
デモ - ルームスケールの中心

ランダムやシーケンシャルはゲーム目的のワールドなどに適している。

スポーンされる方向
Default - VRChat のデフォルトのスポーン設定
Align Player With Spawn Point - プレイヤーを基準にスポーン位置を設定
Align Room With Spawn Point - ルーム(worldのこと)を基準にスポーン位置を設定

上記で設定したスポーン位置がルーム外ならばルーム内に調整する?
サイズを変更すると、出現位置の座標を増やすことができる。
初期設定ではVRCWorldになっているがVRCWorld以外のオブジェクトも指定可能。

いまいちピンとこないので実験

image.png

elements0にmeinCameraを設定する。

image.png

VRCWorld>MainCamera>SecondCameraを入れ子構造にする。
右クリックメニューからCameraを追加。
MainCameraからx:10離れた位置に設定。

image.png

同じ要領でThirdCameraも追加し、z:に10を入力。
部屋の中にCameraが3つ作成され、スポーン位置として設定された状態。

image.png

シーケンシャルに設定し、リスポーンを繰り返すと順番通りにスポーン位置が変化した。

Reference Camera

Reference Camera(リファレンスカメラ)

プレイヤーがルームに参加したときに適用される設定を適用できるカメラです。
クリッピングプレーンを調整したり、ポストプロセス効果を追加したりするのによく使われます。

プレイヤーの視界となるカメラ。
postprocessingが適用可能。
postprocessingは視覚にエフェクトを架けることができる。

パッケージマネージャーからインストールを行い、Reference Cameraにpostprocessingを追加。
ここではぼかし処理で、光源を拡散させるために強めのBloom効果を適用している。

本質的な理解を得るためにはこちらの文書をよく読もう。
https://gitlab.com/s-ilent/SCSS/-/wikis/Other/Post-Processing

以前はassetstoreから導入していたが、unity2018ではwindowメニューからPackageManagerから導入するようになった。

image.png

image.png

パッケージのインポート時にTestフォルダをインポートしないでください。スクリプトエラーが発生し、ワールドのアップロードができなくなります。

Near far適用可能。
他のプレイヤーが近づける距離を設定可能。
値が小さいほど、カリング(オブジェクトの非表示化)が行われる距離が小さくなる。

VRCプレイヤーはNearが好きなようだ。

Respawn Height -Y
ワールドの底の高さ。
プレイヤーが落下した場合に自動的にリスポーンする限度の高さ。
あるいはpickupオブジェクトが破棄される高さ。
ワールド内にオブジェクトの破棄ポイントをつくる場合にも設定する。
VRC_ObjectSyncも設定しないとダメ。リファレンスには書いてないのが罠。

Object Behaviour At Respawn

リスポーンかデストロイを選択可能

Forbid User Portals

ユーザーのポータルの設置を制限する。
ゲーム目的のワールドなどでは必要かも知れない。

Unity Version

通常は触れる必要は無い。使用しているunityのvarがそのまま入っているはず。

Dynamic Prefabs

スポーンされるオブジェクトのプレハブ

実行時に動的に生成できるプレハブの配列。シーンでは参照されていないがスポーンされる必要があるプリファブは、ここにリストアップしておく必要があります。

Dynamic Materials

動的な切り替えで使用されるマテリアル

実行時に動的に変更できるマテリアルの配列。シーンでは参照されていないが、オブジェクトに設定する必要があるマテリアルは、ここにリストされている必要があります。
ユーザーがサイズ/配列に加えた変更は、エクスポート時に毎回自動生成されたリストによって上書きされます。

ワールドのビルド

VRChat SDK > コントロールパネルを表示 > ビルダーに移動します。
そこには、シーンで設定できるオプションや、ワールドを構築するためのオプションが表示されます。
これらの操作を実行してみましょう。
VRChat のレイヤーと一致するようにレイヤーを設定する。
これは必ず行う必要があり、そうしないとワールドが正常に動作しない可能性があります。
VRChat のレイヤーに合わせて、コリジョン レイヤーのマトリックスを設定します。
上記を参照してください。これを飛ばしてはいけません。

と公式の解説にあるため、下記画面が出てきた場合は指示通りに設定する。

image.png

image.png

Local Testing

ログイン後にローカルでワールドをテストすることが可能。
Force Non-VRにチェックを入れればデスクトップモードで起動する。
私の環境ではなぜかVR機器もたちあがってしまう。
VRが優先される場合は有志製作のツールで回避可能のようだがForce non-VRが無かった時期の話のようなので試してはいない。
http://vrcprog.hatenablog.jp/entry/mywork-vrchat-launcher

Build & Publish for windows

アップロードを行う。
アップロードでの注意事項は別途記載予定。

0
1
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
0
1