SimpleMusicPlayerのつかいかた
SimpleMusicPlayerはVRChatワールド用のBGMを再生するためのとてもシンプルな音楽プレイヤーです。

プロジェクトは事前にUdonSharpをインポートしている必要があります。UdonSharpはこちらのリンクから最新のリリース(Pre releaseではなくLatest releaseです)をダウンロードしてください。
20250330追記 VCCではUdonSharpはデフォルトでインポートされるので手動でのUdonSharpのインポートは不要になりました。
BoothからダウンロードしたZIPファイルを展開するとディレクトリが出てきます。
そのディレクトリの中に入っているSimpleMusicPlayerのパッケージをUnityEditor上でインポートしてください。
SceneにSimpleMusicPlayer.prefabを設置したい場所に置いてください。

インスペクタはこんな感じです。

Music Clipに再生したい音楽のファイルをドラッグドロップしてください。
Base Volumeに基本となるボリュームの値(0.0 ~ 1.0の範囲)を入れてください。
VariableBackgroundのつかいかた
VariableBackgroundはVRChatワールドに置ける背景のギミックです。Interactすることで画像を切り替えることができます。
sandman.booth.pm
なお、画像の切り替えはグローバルに同期されますが、中身はUdonSynced変数もSynchronizePositionも使っていないのでネットワークに優しいです。切替時に音も鳴らせます。 画像のサイズは1920x1080です。この大きさでない画像を設定した場合は拡大縮小されます。
プロジェクトは事前にUdonSharpをインポートしている必要があります。UdonSharpはこちらのリンクから最新のリリース(Pre releaseではなくLatest releaseです)をダウンロードしてください。
Prefabs以下にあるVariableBackground.prefabをSceneに置いてください。

こんな感じで出てきます。

Sceneに置いたVariableBackgroundオブジェクトのインスペクタはこのようになっています。

Change Soundで画像を切り替えたときの効果音を設定します。Noneにすると音が鳴らなくなります。
Background ListのSizeで切り替えたい画像の枚数を指定します。
Element 0、Element 1、……で画像を指定します。画像は最大で100枚まで指定できます。101枚目以降は無視されます。画像が指定されていない場合は白い画像になります。
画像の追加のしかた
追加したい画像のファイルをAsset以下の任意の場所に追加して、インスペクタからTexture TypeをSprite(2D/UI)にしてください。

Background ListのElement 0、Element 1……でこの画像ファイルを選択してください。
AutoCleanupのつかいかた
AutoCleanupはピックアップオブジェクトに仕込んで、最後に触ったプレイヤーが一定距離離れて一定時間経つとオブジェクトを元の位置に戻すUdonギミックです。
プロジェクトは事前にUdonSharpをインポートしている必要があります。UdonSharpはこちらのリンクから最新のリリース(Pre releaseではなくLatest releaseです)をダウンロードしてください。
対象のVRCPickupを付けたオブジェクトにUdonBehaviourコンポーネントを取り付けてください。

Allow Ownership Transfer On Collisionのチェックを外します。
UdonBehaviourコンポーネントのProgram SourceにAutoCleanup Udon C# Program Assetをドラッグドロップして指定してください(右のU#と書かれているやつ)。

こんな感じになります。Synchronize Positionはグローバルな位置同期が必要ならチェックを付けてください。

Reset Transform Distanceで指定したメートル距離以上最後にオブジェクトをピックアップしたプレイヤーが離れると時間のカウントを開始します。
Reset Transform Secで指定した秒数以上時間のカウントが進むとオブジェクトを最初の位置に戻します。
VRoidFashionMallの裏側、UdonWearもしくはもちおしゃギミックとColorfulMagicのはなし
先日きんととさん主催でVRoidFashionMallというイベントを一緒に行いました。僕はギミック担当で、衣装の試着ギミック「UdonWear」や背景の切り替えギミックなどを作成しました。 VRoidFashionMallの評判は概ね想像以上に良かったかなと思います。
VRで試着して服を買えるのめっちゃ便利って動画です。
— 三珠さくまる🤹個人Vtuber企画動画勢/V道芸人 (@MitamaSakumaru) April 29, 2021
#VRoidFashionMall pic.twitter.com/duPrJc5Sr1
#VRoidFashionMall
— なると (@narutoo) April 29, 2021
VRoidで着てみたのと会場にいたふじさきあくたさんのこんちゃんがパーフェクトな着こなしをしてた様子とマヨネーズも着せ替え出来た様子 pic.twitter.com/Hrs31NtCO1
VR空間で洋服選びができる時代っ(≧∇≦)/ VRoidの衣装の試着が楽しめる話題の #VRoidFashionMall 楽しい~ 水着のアバターでいくと色々お着替えできるよっ♪ #VRChat #VIVEアンバサダー pic.twitter.com/tiC66FeEEL
— バーチャル美少女ねむ⚡公式VIVEアンバサダー【人類美少女計画】 (@nemchan_nel) April 30, 2021
渡辺秋穂さんの洗練されたロゴと、出展者の方々(渡辺秋穂さん、muucさん、ふじさきあくたさん、さくまさん、ワンダホさん)の素晴らしい衣装モデルと、きんととさんのワールドデザインと、あざらしうむさんのクールなモデルのおかげで、様々な人に楽しんでもらえてとても嬉しかったです。
試着ギミックについて様々なお褒めの言葉も頂きました。
#VRoidFashionMall 行ってみたけど色々お着換えできて楽しい!服着るシステムがすごい使いやすくて普通に革命かもしれない……すごすぎる……(語彙の消失)#VRoid pic.twitter.com/cazRbIOera
— 白柿 マイナル@VRoidスタイリスト (@mainarutyan) April 27, 2021
와 미친 이거 보세요 Udon으로 아바타 옷입히기 시연가능한 에셋이래요
— 아데프IDF (@IDF_csgokr) April 26, 2021
심지어 무료임https://t.co/3zlFx1wI8p
VRoidFashionMall 元は確かにVRoid向けだけど、VRoid以外の方も着れて素晴らよ…
— 青空フミ (@FumiFumi2019) April 28, 2021
"誰でもオシャレができる"世界こそ究極だと思ってますよ…
ただ、一点だけはっきりさせておきたいことがあります。 衣装を試着できるワールドは、VRoidFashionMallが最初というわけではないということです。
特に有名なものは、元祖着せ替えワールドのもちおしゃワールドと、ColorfulMagicです。
UdonHatは@omochi_otocaさんのMochi Mochi Oshare Udon Roomでの感動がベースになってます。ここらへんの変遷はどこかに書いておきたい https://t.co/xXzSmvmEEN
— sandman42292 (@sandman73773941) January 4, 2021
VRCのmagic clothesやUdonHatを見ていて、自由にVRoid衣装を試着できる様なものをやりたい
— きんとと@VRoid Fashion Mall 開催中 (@goldenpenguin3) January 12, 2021
アバターミュージアムみたいにシンプルで周りやすい空間でたくさんショップ並んでるとこ見たいな
できればショップさんファーストにしてショップサイトまでのリンクとか飛びやすくしたい
もちおしゃワールドがなければUdonHatはなく、UdonHatとColorfulMagicがなければ、UdonWearもVRoidFashionMallもなかった。
penguin-the-first.hatenablog.com
わたしはこの「VRoid Fashion Mall」に"VRoidファッションコミュニティの活性化"と"豊富な数々の衣装をVRoidユーザ内外の方にも届けたい"という願いと決意を込めました。 今回はプレ開催ということで出店者数も少なく、規模を小さくして開催しましたが、今後出店者枠を増やすことで、会場内でコーディネートを楽しむことができるようにしていきたいです。 そしてファッションから始まるアバター文化を世間に広めていきたいです。
この試みが誰かの新たなきっかけになりますように。
きんとと/きんいろペンギン
もちおしゃワールドやColorfulMagicがインスピレーションを与えてくれたように、UdonWearとVRoidFashionMallが誰かの何かのきっかけになればいいなと思います。
UdonWearはBoothにて公開しています。無料かつ改変・再配布可能なライセンス(MPLv2)です。ぜひ使ってみてください。衣装作成者の方、自分のお店をVRChat上に持ってみませんか?
VRoidFashionMallも今後拡充予定なので乞うご期待です。きんととさんも僕もやる気です。
UdonWearのつかいかた(v0.10.1以前)
UdonWearはUdonで書かれたVRChatワールド用のギミックです。 ボーンが入っている服のモデルにUdonWearを組み込むと、着られるギミックとしてワールドに置けるようになります。
僕がギミック担当で参加させてもらったVRoid Fashion Mallでも使用しました。VRoid Fashion Mallの様子をききょうパンダさんが動画にまとめてくださったので、こちらを見てもらうとどういうものか分かると思います。
このドキュメントではボーンが入った服のモデルはすでに用意していると仮定して、その服のモデルにUdonWearを組み込んでワールドに置く作業を順番に説明します。
服は持ってないけどUdonWearがどんなものかとりあえず試してみたい方は、UdonWearにはサンプルのViviClothesが入っているのでそちらを使ってください。
!!!!注意!!!!
服のモデルを組み込んだワールドをVRChatにアップロードすることはその服のモデルの利用規約に違反する場合があります。特に個人が利用するアバターに付属させた状態でアップロードすることは許可されていても、UdonWearギミックのように不特定多数のユーザーが使用できる状態でアップロードすることは禁止されている場合があります。アップロードする前に必ず利用規約を確認し、アップロード可能か不明な場合は作者さんに確認を取るなど適切な対応をしてください。
ボーンが入った服のモデルの作成方法のひとつとして、とも屋さんの羅生門ツールの下人モードを使ってVRoid Studioで作ったアバターモデルから服のモデルを取り出す方法があります。詳しくはこちらのリンクを参照してください。
すでに服のモデルのプレハブを持っていて、それを使いたい方は、ボーンのルートがヒエラルキーの一番上の親になっておらず、一番上の親のひとつ下の子になっていることを確認してください。もしそうなっていなければ、そうなるように修正してください。


また、服のモデルはT字ポーズになっている必要があります。T字ポーズになっていない場合は修正してください。


服のボーンの回転によってはUdonWearがうまく組み込めない場合があります。可能であれば、T字ポーズにさせたときに各ボーンの回転がidentityになるようにしてください。
UdonWearを組み込む
VRChat SDK3(アバター用のものではなく、ワールド用のもの)とUdonSharpがインポート済みのUnityのプロジェクトを用意します。
UdonSharpはこちらのリンクから最新のリリース(Pre releaseではなくLatest releaseです)をダウンロードしてください。
なお、VRChat SDK3をインポートしてからUdonSharpをインポートするように注意してください。
Unityプロジェクトを開いて、Assets ー> Import Package -> Custom PackageでUdonWearのパッケージをインポートします。
インポートが終わったら、Window -> UdonWear Editorを選択してUdonWearのエディタウィンドウを開きます。


いきなりエラーが出ていますが、これは服のモデルをまだ指定していないからです。服のモデルのプレハブをTarget Clothesにドラッグドロップします。(服のモデルを用意していない場合は、Sampleディレクトリにお試し用の服モデル「ViviClothes」を置いてあるのでそちらを使ってください)
そうするとエラーが消えて各種項目が表示され、Createボタンが押せるようになります。

Createボタンを押して、シーンにUdonWearが組み込まれた服のギミックを置きます。この時、ヒエラルキー内のTransformを選択しておくと、そのTransformの場所にそのTransformの子要素として置きます。選択しなかった場合はSceneの原点に置きます。


VRChatSDKのWindowでBuild & Testを押して動作確認します。服がうまくアバターに追従していれば完了です。
服がうまくアバターに追従してくれない場合
服モデルをアバターに追従させるためには、服モデルに設定されている各関節ボーンそれぞれについて対応するギミックの関節ボーンを対応付ける必要があります。UdonWearのエディタがある程度自動でこの対応付けを設定するようになっていますが、服の関節ボーンに付いている名前によってはうまくいかない場合があります。うまくいかない場合は、手作業で対応付けする必要があります。
ここではCC0で公開されているP StoreのPOPPOさんのP_Store_series_12を使って説明します。緩いライセンスで素晴らしい服のモデルを公開してくださっているPOPPOさんに感謝します。


服のプレハブを開き、Hierarchyウィンドウから追従させたい服の関節ボーンを対応するUdonWearEditor上のフィールドにドラッグドロップすると設定できます。


他にも設定されていないボーンがありますが、服モデルにそもそも存在しないボーンや追従させる必要のないボーンは設定する必要はありません。

UdonWearのマテリアル設定
UdonWearには服のマテリアルを切り替える機能があります。この機能を使っていわゆる服のカラバリを設定できます。Materialsタブでこの設定を行います。 現状、切り替えられるマテリアルはひとつです。

設定する手順は以下のとおりです。
TargetSkinnedMeshRendererNameで切り替えたいマテリアルを使用しているSkinnedMeshRendererの名前を指定してください。
TargetMaterialIndexで切り替えたいマテリアルを指定してください。
MaterialNumで切り替えられるマテリアルの種類の数を設定します。デフォルトは3に設定しています。
InitialMaterialIndexでどのマテリアルを最初に使用するかを指定します。
切り替える別のマテリアルをmaterials[1]やmaterials[2]にドラッグドロップしてください(図中ではmaterial[1]にc12を設定しています)。なお、material[0]は服のプレハブで設定されているマテリアルが自動で設定されます。設定されていないマテリアル(図中ではmaterial[2])は単に無視されます。
これでCreateすると右上のMaterialボタンでマテリアルを切り替えられるようになります。

UdonWearのオプション設定
UdonWearのエディタウィンドウにはTarget Clothes以外にもオプションがあります。

ClothesName
調整パネルに表示される服の名前を設定します。デフォルトではTargetClothesの名前が設定されます。
Attach Sound
服を着たとき(=服ギミックをアバターに取り付けたとき)の効果音を設定します。
Detach Sound
服を脱いだとき(=服ギミックをアバターから取り外したとき)の効果音を設定します。
Reset Sound
調整した値をリセットしたときの効果音を設定します。
ChangeMaterial Sound
マテリアルを切り替えたときの効果音を設定します。
Close Sound
調整パネルを閉じたときの効果音を設定します。
Proxymity
服ギミックのコライダーにインタラクトできる距離を設定します。
ResetTransformThreshold
UdonWearはある服ギミックを最後に触ったプレイヤーがその服ギミックから一定時間離れた状態で一定時間が経過すると服ギミックのTransformをリセットします。この項目ではその設定を行います。
Distance
ここで設定した距離以上離れると時間のカウントを開始します。
Sec
リセットされるまでの秒数を設定します。
CloseEditorPanelDistance
ここで設定した距離以上プレイヤーが調整パネルから離れるとUdonWearは調整パネルを閉じます。
ArmAngle
ここで設定した角度でUdonWearが服のポーズの初期化時にUpperArmボーンを回転させます。特にこの値が70度くらいに設定すると服は着られていないときにA字ポーズの状態になります。この値を0に設定すると服がT字ポーズの状態になります。この値を変えてもScene上では服はT字ポーズで置かれることに注意してください。UdonWearが実行時に設定された角度分回転させます。
その他のおまけ
UdonWearパッケージにはいくつかのおまけが付属しています。必要に応じて活用してください。
ギミックの説明用ポスター

UdonWearギミックの説明用ポスターです。UdonWear/Prefabs/Textures にあります。調整パネルとDetachのためのポスターがあります。どちらもライセンスはCC0です。これらは東京アザラシセンターのあざらしうむさんが作成してくれました。感謝します。
試着室のモデル
シンプルな試着室のモデルです。このモデルのライセンスはCC0です。これもあざらしうむさんが作成してくれました。大変感謝します。
UdonWear用の拡張メニュー

プレハブはUdonWear/Prefabs/UdonWearExtraMenu.prefab です。
VRChatのメニュー呼び出しで一緒に表示されるUdonWear用の拡張メニューです。Detachのやりかたの説明とDetachボタンが付属しています。
位置はどこでもいいのでSceneの中に置いてください。
Sceneに置いたUdonWearExtraMenuのUdonBehaviourコンポーネントのUdonWearRootTransformに、UdonWearの入った服(画像中ではViviClothes)を子要素以下の要素(つまり孫要素やひ孫要素でもOK)として含むTransform(画像中ではUdonWearRoot)を指定してください。含まれているUdonWearについてDetachボタンでDetachできるようになります。

EmergencyDetachButton

プレハブはUdonWear/Prefabs/EmergencyDetachButton.prefab です。
Interactすることで服をDetachできるボタンです。UdonWear用の拡張メニューと同様に、UdonBehaviourコンポーネントのUdonWearRootTransformに、UdonWearの入った服(画像中ではViviClothes)を子要素以下の要素(つまり孫要素やひ孫要素でもOK)として含むTransform(画像中ではUdonWearRoot)を指定してください。含まれているUdonWearについてこのボタンをInteractすることでDetachできるようになります。
様々な試着ギミックの紹介
はじめに

VRChatではアバターに小物を取り付けたり服を着せてカスタマイズする文化がありますが、アバターのカスタマイズはUnityを触る必要があり大変です。もしそうした小物や服の「試着」がVRChat上でできてその場でフレンドと共有できたら楽しそうじゃないですか?
そういうことができるワールドやギミックはいくつかあります。この記事ではそうした試着システムについて僕が見つけたものを作成された時系列順に紹介していこうと思います。
試着ギミックは大雑把に「VRHat系」と「もちおしゃ系」に分けられます。
VRHat系は以下の特徴を備えるものが多いです。
- 操作パネルがなく、VRのみ対応で直感的に操作できるが、Desktopには基本的に非対応
- オブジェクトのサイズ変更はできないものが多い
- オブジェクト単一で完結するため、オブジェクトをたくさん置きやすい
もちおしゃ系は以下の特徴を備えるものが多いです。
- 操作パネルがあり、VRとDesktop両方に対応しているが、オブジェクトの位置や回転の調整は難しい
- オブジェクトのサイズの変更ができる
- 操作パネルが付属するため、オブジェクトをたくさん置きづらい
もちろん厳密に分けられるものではなく、両方の性質を備えたものや例外的なものも存在します。しかしこの分類は多くの場合に当てはまるのでこのことを踏まえて見ていけば理解しやすいと思います。
更新履歴
20210105 「シャオンちゃん交流会会場」を追加しました。
20210105 公開
VRHat (CyanLaserさん、2018/09)

I have finally request VRHat to be public. Thank you everyone for helping me test these last few weeks! #VRChat #VRChatWorlds #VRChat_world紹介 pic.twitter.com/sdVRDuAYGX
— CyanLaser (@CyanLaser) September 1, 2018
僕が調べたかぎりだとこれが一番古い試着できるワールドです。Udonは使われていません(Udonは2020/4公開)。燃えてたり口とかがあったり帽子以外の様々なオブジェクトを取り付けられてコミカルな雰囲気です。Desktopには非対応ながらVRだと十分楽しく遊べるギミックになっています。
シャオンちゃん交流会会場(mkc1370さん、2020/5)

試着会とかで使えそうなのを作ってみたー🦊
— mkc1370 (@mkc1370) May 18, 2020
・マテリアルの切り替え等ができる
・試着会用のワールド以外ではアバターが表示されない
・他のプレイヤーから見ることができない(実装次第で他のプレイヤーからも見られるようにできそう)
モデル:シャオンちゃん#VRChat#MadeWithUdon
リプに続く pic.twitter.com/leHHEVLXMN
分類が難しいです。無理やり分類するならもちおしゃ系ですが、もちおしゃワールドよりもこちらのワールドの方が公開日時は早いです。そして、もちおしゃワールドとは違ってこちらのギミックは衣服の着替えを主眼としていません。衣服ではなくアバターを着替えるという発想です。
仕組みは結構単純で
— mkc1370 (@mkc1370) May 18, 2020
ボーンだけのアバター(メッシュなし)をアップロードしてワールドのペデスタルに置く
ワールドにボーン・メッシュ込みのモデルを置く
UdonのVRCPlayerApi.GetBoneRotation()でボーンとメッシュの位置合わせをする
マテリアルの切り替えはUIを作ってゴニョニョ…
続く
プレイヤーのアバターを透明のアバターに切り替えたあと、ボーン付きメッシュのアバターモデルを着せることでアバターをまるごと試着できるという仕組みのようです。そしてアバターモデルの髪や衣服のマテリアルを操作パネルから切り替えられるようにすることで色のコーディネートを実現しています。ただし同期はされません。Desktopにも対応。
Mochi Mochi Oshare Udon Room(おもちのびるさん、2020/06/19)

Udonで作った着せ替えワールド「Mochi Mochi Oshare Udon Room」をCommunity Labsにアップロードしました!動画のように置いてある衣装を試着することができます!試してみてね!https://t.co/0WhVEyiw6P#VRChat#VRChat_world紹介 pic.twitter.com/qf8NZwpu5e
— おもちのびる@Vket5 VirtualShowcase -Ruby- 2F (@omochi_otoca) June 24, 2020
通称もちおしゃワールド。頭部だけでなく全身を含めてドレスやスーツなどの衣服を着用することができます。VRはもちろんDesktopにも対応しています。ひとつの服につきひとつの操作パネルが対応していて、着ているプレイヤーではない別のプレイヤーが大きさや位置を調節できるのも特長です。
Colorful Magic clothing room (キャンディちゃんさん、2020/06/28)

分類としてはもちおしゃ系ですが、Mochi Mochi Oshare Udon Roomとはまた違った方針の着せかえワールドです。アウターやボトムスといった部位ごとに異なる衣服が用意されていて、それらの組み合わせで様々なコーデを楽しむことができます。Desktopにも対応、服の色を変えることもできたり、撮影スポットも用意されていたりなど、全体的に洗練されたワールドです。
Udon試着ギミック(おにさわさん、2020/08)
もちおしゃ系です。もちおしゃワールドのギミックを簡略化して小物用にした感じです。Desktopにも対応。小物を装着するならこれくらいのシンプルさがちょうど良さそう。
話題が逸れますが面白いのでこの動画を見てください。
Object Fitter(ねこのやさん、2020/11)
ワールド内に設置された衣装やアクセサリーなどを、プレイヤーがその場で試着・調整・共有が出来るようになる Udon / UdonSharp ギミック「Object Fitter」を公開しました。専用のエディター拡張が付属してあるので、設定もかんたんに行えます。だいたい同期もされます。https://t.co/Fs289C6196
— ねこのや (@Nekonoya_Booth) November 28, 2020
もちおしゃ系のギミックのようです。服と操作パネルが付いています。Desktopにも対応。服にフォーカスしたワールドを作成するならこれを使うとよさそう。
Vket5 UdonCube UC-0E / Red-01 Phasedragon(Phasedragonさん、2020/12/19)
I'm selling UdonPockets at #Vket5! This is an udon prefab that allows you to attach pickups to your body. It only requires one script in the whole world so you don't need to put any script on your pickups. https://t.co/icw3pGKVqo
— Phasedragon (@Phasedragoon) December 19, 2020
VRHat系です。「うどんポケット」という名前のとおり着用というよりはオブジェクトをアバターに追従させることを目的としたギミックです。VRのみ対応。ヘルメットのような頭部に設置するものだけでなく、剣や銃などの小物をアバターの脚や胴体にくっつけられるようになっています。VRで拳銃を腰に付けられるのはいい感じです。単一のスクリプトでワールドに含まれる全てのPickupオブジェクトに適用できるのも面白いです。
Follow_Head Tools(さばちゃんさん、2020/12/19)
そしてなんと!3Dオブジェクトがプレイヤーの頭に追従してくるツール『Follow_Head Tools 』を【【無料配布】】することに致しました!!VRCSDK3を用いたワールド用のギミックです。詳細は下記商品ページをご参照下さい!!!
— さばちゃん (@sabachan_vrc) December 18, 2020
【Free】Follow_Head Tools | さば屋 https://t.co/zZqWeYKza5 #booth_pm
VRHat系ですが、VRHat系には珍しくオブジェクトの大きさも変更できるようになっているのが特長です。VRのみ対応。装着は頭部のみにフォーカスしています。
UdonHat (azarashiumさん、sandman、2021/01/03)

帽子やアクセサリーを自在に着けられる、VRchatワールドをコミュニティラボにリリースしました!
— アザラシ@Vket5_オービタル05-D (@azara_shium) 2021年1月3日
サイズや角度を変えたり、組み合わせてコーディネートも楽しめます。
デスクトップでもOK!
「UdonHat」ぜひ遊びに来てください。#VRChat_world紹介 #MadeWithUdon #VRChat https://t.co/guMd8VG3br pic.twitter.com/VH085Q0qAc
もちおしゃ系です。僕とフレンドのazarashiumさんとで作成して公開したワールドです。Desktopにも対応。装着は頭部のみにフォーカスしています。
UdonHatではオブジェクト(帽子やアクセサリー)と操作パネル(三面鏡)を分離することでDesktopでも調整できて、かつオブジェクトもたくさん置けるようにしてあります。

アクセサリー試着システム(きゅぶんずさん、2021/01/04)
VRHat系です。UdonSyncedを使わずに実装されているのでワールドに大量に置いても同期できるという特長があります。VRのみ対応。
まとめ
こうしてみると試着ギミックはどれも特徴があってそれぞれ異なる想いがありますね。
もしここで挙げた以外で試着ギミックや試着ワールドをご存じの方、自分もつくったぜという方がいたらぜひ教えて下さい。加筆しようと思います。 また、ここで書いた情報が間違っている、更新して変わった等の指摘もいただけると幸いです。
UdonHatのギミックも同期周りを改善して何らかの形で公開したいと考えているので続報をお待ち下さい。
僕の想いとしては、ふらっと行ったワールドに、そのワールドに合った小物があってそれを着用して遊べるという世の中になればいいなあと思っています。温泉でタオルを頭にかけたり、ウェスタンなワールドでかっこいい帽子を被って早撃ちしたりしたいです。帽子自体にギミックが仕込まれてるのも面白そうですよね。
参考
この記事はUdonHat公開後に円フツさんがVRC試着システムについてまとめてくれた以下の一連のツイートをもとに作成しました。
VRC試着システム
— 円フツ (@enfutu) January 4, 2021
UbuntuでVRChatのWorldを作成する
この記事執筆時点でVRChatのWorldやAvatarはWindowsで作成することが前提になっています。しかしながら僕は普段WindowsではなくUbuntuを使っているので、できればUbuntuを使って作業したいところです。
今のところ完全にWindowsから脱却することはできていませんが、ある程度UbuntuでWorldの作成ができるレベルになったのでその方法を書いておきます。多分Avatarも同じやり方でできると思います。
そもそもWorldの作成にはUnityを使いますが、Unity自体はWindowsだけでなくUbuntuで動かすことができます。VRChat SDKも問題なくUbuntu上で起動したUnity Editor でimportできます。問題はVRChat SDKのControl PanelからBuild & TestをしようとしてもVRChatが起動しないことです。Worldを作っている間は何度もVRChatを起動して作っているWorldを確認したいのでこれは困ります。
そもそもUbuntuでVRChatを起動できるんでしょうか? できます。
UbuntuにSteamをインストールしてVRChatをインストールします。このままだと起動できないので、SteamのsettingsからSteam Playをenableにします。
このSteam Playの機能を使うとWindows用のアプリがLinuxで実行できるようになります(もちろん全てのWindows用アプリが動くわけではないですが、結構動きます)。内部ではwineからforkしたprotonというソフトウェアが使われています。
以下の内容のvrchat.exeというスクリプトを用意します。これはWindowsのexeファイルではなくただのシェルスクリプトですが、拡張子をexeにしておくことで、後でVRChat SDKのControl PanelのSettingsでVRChat ClientとしてPathを指定できるようになります。
#!/usr/bin/bash STEAM_COMPAT_DATA_PATH=~/.proton/ ~/.steam/steam/steamapps/common/Proton\ 5.0/proton run /home/$USER/.steam/debian-installation/steamapps/common/VRChat/VRChat.exe "$@"
実行権限をつけておきます。
chmod +x vrchat.exe
この状態で普通にVRChatが起動できます。
./vrchat.exe
こうして起動したVRChat Clientは僕の環境ではなぜかWindowsで起動したときよりも妙に動きがいいです。たまにAvatarが見れなかったりWorldの機能(VideoPlayerとか)が使えなかったりすることがありますが、概ね普通に使えます。
後はVRChat SDKのControl PanelのSettingsでVRChat ClientとしてPathを指定してやればBuild & Testが普通に実行できます。ここまでくればWorld開発のサイクルを問題なく回せると思います。
もうひとつの問題がBuild & Publish for Windowsができないことです。これは解決方法を見つけることができませんでした。途中までは動きますがUnity Editorが強制終了します(これで強制終了するとUnity Hubからプロジェクトを起動できなくなるので、Unityのプロセスを全て終了するか、そのプロジェクト内にあるTemp/UnityLockfileを削除してください)。なのでアップロードするときだけはWindowsを使わざるをえません。VirttualboxなんかにWindowsを入れて使えばいいでしょう。
もしBuild & Publish for WindowsもUbuntuから実行する方法を見つけた方がいたらぜひ教えてください。