ワールド作成入門


ワールド作成の第一歩

初めてVRchatのワールドを作る場合には、大変有用なチュートリアル動画が2本ありますので、これら動画を見ながらUnityを操作して、まずは自分のためのワールドを作成してみましょう。

ワールド作成のおおまかな流れが理解できたら、サンプルシーンにあるようなギミックを使ってインタラクティブなワールドや仕掛けを作っても良いですし、アセットストアで気に入ったアイテムを入手して好みの空間を作るのも良いでしょう。

記事:Unity/Unity Hubのインストール

初めてのワールド作成


動画:【VRchat】初心者向けワールド作成講座【チュートリアル】
駐)2018/08/24 よさそうな動画を追加しました

動画:基本的なギミック作成のチュートリアル
  • 動画:https://www.youtube.com/watch?v=aYFuF12UZkY
  • VRCアカウントの取得、Unityの導入、VRCSDKの導入までできてる状態ならば、この動画の冒頭3分50秒までの手順を踏めば、ワールドとしてはアップロードできる状態になります
    • 以下、この動画で解説されているギミック
    • スイッチでオンオフできる鏡(VRC_Triggerを使ってVRCMirrorをオンオフ)
    • ワープするドア(OnAvatarHitによるTeleportPlayerの発動)
    • プレイヤーが掴めるオブジェクト(VRC_Pickup)
    • スイッチとアニメーション(AnimationBool)を使って回転させるキューブ

記事:【VRChat】オリジナルワールドを作る【Unity】

記事:UnityのUの字もわからないレベルから始めるVRChatのワールド作り(基本編)

動画:Unityチュートリアル(VRChat Virtualcast向け)

ワールドギミック入門

  • VRChatワールド用の簡単なギミック集
    • http://gpsnmeajp.sblo.jp/article/183494623.html
    • アバター台以外でアバターを変更するオブジェクトを作る
    • 持ち上げたり落としたりすると音のなるオブジェクト
    • 持ち運んで接触させると消滅する扉と鍵
    • 持ち歩くと音楽が流れて、置くと音楽が止まるオブジェクト

  • VRChatのワールド制作スターターキット
    • https://twitter.com/momoma_creative/status/1031826717239697408
    • 鏡(出来るだけ軽めの設定)
    • 丸い鏡
    • 近くにいるときだけ有効になる鏡
    • スイッチを押した人だけ有効になる鏡
    • 持てる物(物理演算なし)
    • 手を放して5秒後に元の場所に戻るやつ
    • テレポーター
    • 椅子
    • 椅子(Static)
    • アバターペデスタル
    • カメラ

  • つめこみセット (@VRC_Fuzz)
    • https://twitter.com/VRC_Fuzz/status/1009792681520721920
    • 01 触れたらワープするやつ
    • 02 Objectのオンオフスイッチ
    • 03 pickupの説明
    • 04 jumpとかの設定
    • 05 BGMとか音を流す
    • 06 監視カメラ(RenderTexture)
    • 07 worldに人が入ってきたら音がなるやつ
    • 08 切り替えスイッチ

アップロード関連の画面操作

操作画面がわかりにくいので少し補足します。

アップロード時の画面

ワールドアップロード画面.PNG

  • Setup Layers for VRChat
    • 初回のみ、クリックしてレイヤーマトリクスをセットアップする必要がある
    • レイヤーマトリクスが設定されていない場合はエラーが出る「Layers are not yet configured for VRChat. Please press the 'Setup Layers for VRChat'button above to apply layers and enable Test/Publish.」
  • ローカルテスト
    • サーバにアップロードせずに動作確認をしたい時には Test の下の NewBuild ボタンを押します
    • ファイル送信の待ち時間が無いので、比較的素早く動作確認ができます。アップロードはしませんがインターネット環境とログインは必要です
  • アップロード
    • サーバにアップロードする時には Publish の下の NewBuild ボタンを押します
    • 既にアップロードされている場合は上書き更新されます。あらかじめ VRCPipelineManager を操作しておくことで上書きでなく新規作成にすることもできます。
  • LastBuild ボタンについて
    • 最後にビルドされたものをそのままもう一度ローカルテストで実行したり、そのままアップロードしたい場合に使用します。

VRChat の中からのアクセス

自分のアップロードしたワールド.jpg
  • クイックメニューからWorldを開いて、Mineセクションを見ると自分のアップロードしたワールドが確認できます
  • 参考:アップロード関連


ワールド作成につかえるギミックの基礎知識

かんたんな用語解説
  • (前述のチュートリアルで最低限の部屋とギミックを作成できている前提での解説です)

  • オブジェクト(ゲームオブジェクト/GameObject)
    • 床や鏡、椅子など、Sceneに配置されるもの

  • コンポーネント(Compornent)
    • オブジェクトに設定される機能
    • オンオフできる鏡を作った時、四角いオブジェクトにVRC_Triggerを設定しましたが、このVRC_Triggerがコンポーネントの一種です
    • ものによってはスクリプトの場合もあり、カッコ付けで(Script)と書かれていますが特に意識する必要はありません 

  • トリガー(Trigger)
    • VRChatの世界でなんらかの現象のきっかけとなるもので、たとえばプレイヤーがそのオブジェクトを掴んだ(OnInteract)ことをきっかけとして、何らかの現象を起こす(Action)ことができます
    • 基本的にはVRC_Triggerコンポーネントを利用します

  • アクション(Action)
    • 前述のトリガーによって発生する現象で、特定のコンポーネントをオンオフ(SetCompornenttActiveのTrue/False)などが設定できます

  • レシーバー(Receivers)
    • 前述のアクションを受け取るゲームオブジェクト

  • プロジェクト(Project)
    • 各種ファイル群をまとめて登録したもので、1ワールド毎に1プロジェクト用意する必要がある
    • (アバターの場合は単一のプロジェクトで複数のアバターを管理することができる)
    • フォルダ単位で管理、保存される

  • プレハブ(Prefab)
    • 任意に組み上げられたオブジェクトとコンポーネントの関連性と各種パラメータを記録したもの
    • Assetes画面で右クリック→Create→Prefab で空のプレハブが作成される プレハブ化したいGameObjectをHierarchyから空のプレハブにD&Dすると出来上がる
    • 単一プロジェクト内であれば、PrefabをHierarchyにD&Dすることで、手動、もしくはSpawnObject等で任意に複製/生成できるようになる
    • これ自体にはモデルやスクリプトは含まれていないので、他のプロジェクトで利用したい場合にはPrefabを右クリック、Export PackageをクリックしてUnityPackageで書き出す必要がある
    • 拡張子prefab形式のファイルとして保存される

  • パッケージ(UnityPackage)
    • Prefabの構造とそれに必要なオブジェクト、コンポーネント、スクリプト等をまとめたもので、VRCSDKがまさにこれ
    • Assets画面で右クリック、Import Package/Custom Packageで任意のPackageファイルを取り込めるし、エクスプローラー等からAssetsにD&Dしてもよい
    • パッケージ化したいPrefab、やProject/Assetsの任意のフォルダを右クリック、Export PackageをクリックするとUnityPackageで書き出すことができる
    • 拡張子unitypackage形式のファイルとして保存される

  • シーン(Scene)
    • 任意に組み上げられたオブジェクトとコンポーネントの関連性と各種パラメータ、それらのHierarchyやsceneへの配置も含めて記録したもの
    • 拡張子unity形式のファイルとして保存される


Unity用語集

各種コンポーネントの解説
  • (注)当ウィキは公式wikiに書かれていない仕様や不具合、活用例などがまとめられていますので、コンポーネントそのものの機能や各パラメータの説明は公式ドキュメントや日本語訳をあたってください
  • もうすこし掘り下げた解説がnaqtn氏のブログにあります:http://vrcprog.hatenablog.jp/

VRChatで使える機能
  • まだすべてが解明されてわけではないのですが、SDKに含まれているコンポーネントやアクションに加えて、Unityで最初から用意されている Standard Assets に含まれているものが許可されおり、これらは日夜、有志によって開拓されています



VRCSDK サンプルシーン(いわゆる青い部屋)を知る

VRChat SDK に付属している Assets/VRCSDK/Examples/Scenes に5つのUnityファイル(sceneファイル)が入っており、ワールドに使える基本的なギミックの理解に役立ちます

SampleScene.png

サンプルシーンそれぞれの簡単な内容
  • Example-Actions:各種Actionの体験ができます
  • Example-Avatar:サンプルアバター(ワールド作成とは関係ありません)
  • Example-Prefabs:AvatarPedestalだけが置かれた部屋です
  • Example-Triggers:各種Triggerの体験ができます
  • Example-VideoPlayerSync:VRC_SyncVideoPlayerのためのサンプルシーン

使い方
  • VRCSDKをImportします
  • 適当なProjectを作成し、任意のサンプルシーンのUnityPackageをダブルクリックします
  • 青い部屋が開きます
  • メニューからVRChatSDK/ShowBuildControllPanelをクリック
  • VRChatタブがひらくので、TestセクションのNew Buildをクリック
  • ローカルテストが始まります
  • 青い部屋の中で、各種トリガーなどが体験できます

活用例
  • サンプルシーンにある装置をHierarchyで右クリックしてコピー、自分のワールドのUnityPackageを開き直して、自分のワールドのHierarchyにペーストすればその装置が自分のワールドで再利用できます
    • チュートリアルの動画でも行われている手法で、なれるまではこれが楽です


Public化

自作のワールドの Public 化を申請し審査に合格すると、全てのユーザのゲーム内のメニューに載ったり検索で見つけたりしてもらえるようになります。

手続き

v2019.2.1より、VRChat Community Labsと呼ばれるシステムのステージ2へ移行しました。
  1. 公式の開発ドキュメントの中にある Submitting a World to be made PublicVRChat Community Labs を参照する。特に、Important Infoにある条件を満たしているかを確認する。
  2. Community Labsに公開されたワールドにパフォーマンスの問題がなく、十分に楽しまれているなら自動的に公開されます。(明確な基準は不明です。)
注意: 下部にあるフォームは従来のpublic申請フォームではなく、ワールドの分類変更申請です。

アップデート

  • 既にパブリックになっているワールドを同じワールドIDで更新(SDKでPublish)すると、プライベートに戻ってしまいます。 ←この動作はVRChat 2019.1.3 で変更されました。アップデートしてもパブリックのままです。

制限

  • 上記の記事の手続き案内に申請に通るための制限事項や違反した場合のペナルティが書いてあります
  • コミュニティラボに送信できるのは、7日ごとに1ユーザーにつき1つのワールドのみです。

注意点

  • エロ目的の部屋はダメです
  • 200MB超えはリジェクト
  • ワールドやワールド内のビデオ、アバター、画像がVRChatの利用規約やコミュニティガイドラインに違反している場合、コミュニティラボに送信する能力がしばらくの間中断されます。繰り返し中断すると、アプリ内モデレーションアクションが実行される場合があります。(Safety Systemによるユーザーランクの降格、アカウントの一時停止など)

SDK のアップデート

VRChat は開発中なので SDK はたびたびアップデートされます。公式から案内があったら更新する必要があります。

上書きインポートではなく、削除してインポートし直す必要があるので注意してください。

手順

  1. Unity メニュー > VRChatSDK > Check For Updates からパッケージをダウンロードする。(最初に導入した時と同じく https://www.vrchat.com/ からダウンロードしてもよい)
  2. Unity を終了する。(ここで念のためにプロジェクトを丸ごとコピーしてバックアップするのをお勧めします)
  3. プロジェクトを保存しているフォルダの中にある Assets\VRCSDK フォルダと、その並びのVRCSDK.metaファイルを削除する
  4. 同様に Assets\Plugins\VRCSDK フォルダと VRCSDK.meta ファイルを削除する。(存在していないならそれでよい)
  5. Unity を起動してプロジェクトを開く。(必要なものが無くなっているので一部壊れているように見えるかもしれません)
  6. Assets > Import Package > Custom Package... でパッケージを取り込む。(つまり最初に導入したのと同じ手順を繰り返します。ここでパッケージ内の項目にチェックが付かずに灰色表示になっているものがあれば、削除できていないので手順を戻る必要があります。)

公式ドキュメントでの手順解説:https://docs.vrchat.com/docs/setting-up-the-sdk#section-updating-the-sdk (空のプロジェクトを作ってインポートしてそこからコピーする手順も紹介されています)

その次へ


コメント・情報提供

コメントを投稿するには画像の文字を半角数字で入力してください。


画像認証

タグ・カテゴリ: カテゴリ-Tips

  • 最終更新:2019-07-03 03:22:05

このWIKIを編集するにはパスワード入力が必要です

認証パスワード