はじめに
Unityで背景透過をしたい。
デスクトップマスコットを作りたい。
Unity触るの初めてだけどさ。まぁ何とかなるっしょw
ってわけでやってみることにする
UnityHubから最新版Unityの導入とプロジェクトの作成
とりあえずインストールして
プロジェクト作って
Universal3Dプロジェクトを開く(Universal Render Pipelineを使う3Dプロジェクト)
非矩形ウィンドウ対応
VRMのロード処理は良しなに書くとして、VRMのロードが完了しているとします。
んで、透過非矩形ウィンドウを実現するためにこのあたりのライブラリを使っていく。
いや本当にありがとうございます
本題はここから。
VRMを表示する(一部透過できていない)
背景の黒い丸はUnity上の黒い丸じゃなくて、VRMが読み込まれると同時に出てきます。
こんな風に場所を変えても黒くなります。
てことで、原因をとりあえずIssuesから調べてみた。
完全にこれだった。
ってことで、設定項目を書いておきます。まぁVRM表示させるくらいじゃHDR無効化してもさしたる影響はない。
むしろ背景が透過できない方が問題なのでね。
メニューバー
Edit > Project Settings...
画像の真ん中のウィンドウ(Project Settings)が開くので
Graphics > Default Render Pipeline
の矢印がポイントしている設定された値の部分をダブルクリックする。
今使っているDefault Render PipelineのInspector(デフォルトの場合はPC_RPAsset(Universal Render Pipeline Asset))が開くので、HDRの項目から"チェックを外す"ことと、Alpha Processingに"チェックを入れる"ことでいい感じに透過が走る
開発ビルドなので左下にめっちゃNullReferenceExceptionのログ出てるけどVRM部分は透過できたのでヨシッ!
ちゃんとクリックも、透明部分は貫通するしよかったよかった!
おわり。