質問: 実現したいこと ------- Oculus goで動くVRアプリケーションを開発しています。 こちらの記事にあるような、特定のオブジェクトのみにグリッチシェーダーをかけたいと思っています。 https://gurutaka-log.com/unity-post-effect-mosaic 試したこと ----- ・今回Oculus goでビルドするためOculus Integrationのアセットを入れて その中のOVR Camera Rigをメインカメラとして使用しています。 ・↑の参考リンクの解説通り、 1. シェーダーを適用したいオブジェクトのLayerを「PostEffect」Layerに変更 2. 3台のカメラを用意してClearClear Flag, Culling Mask, Depthを設定 3. メインカメラにグリッチスクリプトをアタッチ 以上を試しましたがメインカメラ一台の状態と変わらずグリッチが適用されません・・・。 ※使用したグリッチエフェクトはアセットで購入したものを使っています https://assetstore.unity.com/packages/tools/particles-effects/digital-glitches-29261 ・VRだと勝手が違うのかな?メインカメラがOVR Camera Rigのせいで記事の通りにならないのかな? と思い、メイン以外のカメラにもOVR Camera Rigと条件が同じになるように OVR Camera Rig Scriptなどスクリプトを全て同じようにアタッチしましたが結果は変わらず・・・ --- 他に試すべきことや、もし同じ条件の実装を試したことがある方 いらっしゃいましたらご教授いただきたいです。 よろしくお願いいたします...!
回答: 以下の設定で近いところまで自分でできました...! 1. メインカメラ(OVRCameraRig) ClearFlag: Don't Clear Culling Mask: PostEffect(対象のLayer)以外 Depth: 1 2. post effect カメラ OVR系のスクリプトはアタッチしない(アタッチすると子要素のTrackingSpaceなども勝手にアタッチされてしまうため) ClearFlag: Depth only Culling Mask: PostEffect 3. 背景カメラ 2と同様OVR系のスクリプトはアタッチしない ClearFlag: Skybox Culling Mask: Nothing これで対象のオブジェクトとSkyboxのみグリッチをかけることに成功しました。 なぜかSkyboxも巻き込まれており...外し方はもう少し模索してみて成功したら追記します。