【VRChat】レイヤー機能を使ったカメラに映らないオブジェクトをやってみた(※何故か自分から見えない…)

スポンサーリンク




こんにちは~
ケーキです♪♪

ひっさしぶりの記事更新となってしまいましたが気にせずいきましょう!
別にネタがなくなってきた訳ではないのですよ?本当ですよ??

さて、今回はUnityの機能にあるレイヤー(Layers)を使用した透過技術をご紹介したいと思います。

レイヤー(Layers)とは
レイヤー – Unity マニュアル

VRChat上でのレイヤー所属情報
VRChat 技術メモ帳 -Layers-

Unityのオブジェクトにはレイヤー機能が付いており、そのレイヤーの所属する種類によってオブジェクト同士の衝突関係が異なったり、カメラ(VRカメラなど)やミラーの写る・写らないレイヤーなどがある。

このレイヤーを使うことで普段は□(四角)が見えているが、VRカメラやミラーを通すと○(丸)が見えるようなギミックを入れていきます!!

準備編

VRCSDKのインポート~Layersセットアップ

まずは公式よりダウンロードしてきたVRCSDKをインポートしましょう。
(既にインポートされている方は飛ばしてしまって大丈夫です)
インポート後、Assets下にPluginとVRCSDKがあることを確認。

インポートが完了しましたら、次にレイヤーのセットアップをしていきます。
Assets内フォルダ、VRCSDK→Prefabs→Worldを開き、中にある”VRCWorld”をHierarchyにドラッグ&ドロップしましょう。

VRCWorldをHierarchyに入れたらメニュータブからVRChat SDK→Show Build Control Panelを開きましょう。
出てきたウィンドウ内にある”Setup Layers for VRChat”をクリック、そのあと出てくるポップアップも”Do it”をクリック
そのあとウィンドウ内のボタンが”Setup Collision Layer Matrix for VRChat”に変わるのでそれもクリック→Do itをクリック

↑が終わりましたらウィンドウを閉じてHierarchyのVRCWorldは消しておきましょう。
ちなみにレイヤーセットアップが終わるとこのようにレイヤー情報が増えます(赤枠が増えた箇所)

ここまでがレイヤーセットアップになります。
では次でオブジェクトにレイヤーを設定していきましょう。

オブジェクトのレイヤー設定

ではでは、先ほどセットアップをしたレイヤーを使ってオブジェクトの処理をしていきましょう。
Hierarchy内で右クリックして”Create Empty”を作成します。(名前はテキトーで大丈夫です)
作成したオブジェクトで右クリックして”3D Object”から”Cube”と”Sphere”とを選択する。
これで四角のオブジェクト内に丸いオブジェクトがちょうど収まり見えなくなるかと思います。

この状態からVRカメラや鏡に映すと四角のオブジェクト内の丸オブジェクトが見えるようにしていきます。

では↑で作成した”Cube”を選択し、画面右のInspector内LayerをDefautからUiMenuに変更しましょう。

なんと設定はこれだけ!!簡単ですね♪♪
この状態のオブジェクトをアニメーションオーバーライトなりエモートスイッチで持っていってVRカメラで見てもらうと四角から丸のオブジェクトに変わります!

ちなみにレイヤーの”UiMenu”は何かと言いますと、プレイヤーのネームタグやクイックメニューと同じレイヤーとなっており、VRカメラや鏡などではそのレイヤー情報をマスク(映らない)されてい
て見えなくなるという現象となっております。

動画撮ってみた

VRChat内での見え方はこんな感じになっております。

動画では不思議な虫眼鏡を使ってレイヤーを見えなくさせております。
“不思議な虫眼鏡”

問題が一つ・・・

このレイヤーでの処理方法なのですが、欠点が一点・・・
なんと自分の視点からは見えないのです!!
自分のVRカメラでも鏡でも不思議な虫眼鏡でも・・・

自分の視点はレイヤー情報が違うとかなんですかね・・・???
まぁいつかわかったら追記でもしますね(いつになることやら)

最後に

以上でレイヤーを使用したオブジェクト切替っぽいものしゅーりょーです!!

意外と設定が簡単ですので皆さんもやってみてくださいね♪♪
しかもこれは使いようによっては・・・はっ( ゚Д゚)!!!

いやいや、なにもやましいことなんて考えていませんよ!
皆さん健全に技術を使って色々やってみましょうね♪♪

ではでは、今回はここまで!!
最後まで読んでいただきありがとうございました~♪

スポンサーリンク