見出し画像

【メモ】UnityでVRChatワールド作り

2022年3月に、PCもDell XPSのまぁまぁいいやつに買い替えたこともあって、勉強がてらにUnityで3D空間作りを始めてみました。まずはVRChatワールドとして、色んな記事や既存の販売データを活用しながら。

空間や家具やギミックはBoothで販売しているものをほぼ活用して…

mmd→fbx化、ギミック系アイテムやChair、iwaSync、360度投影など詰めこんでみた空間
これはBOOTHで購入したまんまを展開しただけ
空間データを2つほど購入してMaterialやTextureを変えて遊んでみたやつ
ガラスGrid空間を購入し、周りに揺れるTreeを置いて仮想オフィスっぽく

そこで忘れないうちに、超簡単な手順をここに記しておきたいと思います。

ソフト:Unity、Blender
ハード:PC、Meta(Oculus) Quest 2
基本データ:VRChat SDK3(VRChatサイト)、Udon Sharp(Github)
活用データ:BOOTHで買ったOBJやFBXファイル、Unity Asset Storeのデータ

■準備
・Unityソフトのダウンロード (VRChatが動作するverに注意。私は2019とか)
・VRChatのSDKのダウンロード (VRChatアカウント作成も)
・UnityプロジェクトファイルでVRC SDKを展開

■空間データ
・基本的にBOOTHとか販売しているデータをそのままFBXで展開できたり、OBJファイルを読み込むことでOK
・たまにmmdファイルなどがあり、それは一旦Blenderで読み込ませ、プラグラインをインストールし、FBXに出力してからでないとUnityに読み込めないこともある

■家具やギミック系
・これもBOOTHから購入してすぐ展開しやすいが、必要なSDKやプラグインや手順が記載されているので購入前に読み込んでおく必要がある
・Unity内のAsset Storeでもすぐインポートできる

■Unityでやること
・VRC WORLDなどの配置
・空間データの読み込みと調整
・家具やギミック系の配置と調整
・Hierarchyなどの整理(親子にするなど)

■TextureやMaterialの調整
・GlassやSofa素材などのMaterialを変更するためのTextureを用意したりパラメーターを調整したり

■ギミック系のメモ
・KinelやiwaSyncメディアプレーヤーのPrefab配置やストリーミングのコツ
・360度動画を投影するために、Screen設定されているオブジェクトのMeshをquadからsphereにし、反転させるためにXのscaleを-1にするなどの調整
・VRC Chairを家具の子にして、判定の大きさ、座る高さなどを調整
・なにか手に持たせたい時には、VRC PickupやRigid bodyを適用して調整
・Mirrorは、VRC Mirrorも使えるが、負荷を減らすためにSwitch On/Offする感じに
・扇風機みたいになにかを回すためには、Hinge JointでMotor化しパラメーターなどを調整

■衝突判定の調整
・Mesh Colliderの有効化、もしくはBoxなどので当たり判定を調整

■Lighting
・まずSkyboxで全体の雰囲気を設定
・Directional Lightの位置で全体の光の当て方を調整
・Point / Spot Lightで暗い空間をうまく照らすように調整
・影を落としたいところは、Staticにしておく
・一通りできたら、Window>Rendering>Light SettingのGenerate Lightingでベイクして焼き付けたりする

■音やBGM
・Audio Sourceを扱うが、Spatializationでやる場合、Gain/Far、Near/Volume Radiusの関係を理解しておく 

■作業効率編
・オブジェクトを非表示にして作業したい場合は、Inspectorウィンドウでチェックを外す
・Lighting SettingでAuto Generateはオフにしておく

■地形/Terrain
(これから学びます)

■海や霧
(これから学びます)

■ビルド確認
・VRChat SDKから、ローカルで確認できる(がまだVisitorなのでアップロードできず)
・Quest LinkでつながっているQuestで見る場合は、SteamVRが立ち上がり確認(でもなんか私の設定がおかしいのか変に描画される)


・・・とりあえずここらへんで。

この記事が気に入ったらサポートをしてみませんか?