0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[VRChat] 他人から見ると眼鏡が不透明になる問題への対応

Last updated at Posted at 2024-12-23

VRChat にはシールドレベルによって他のアバターのシェーダーをフォールバックシェーダーに切り替える機能があります。これによって、眼鏡のレンズなどの半透明なオブジェクトが不透明に表示されてしまう場合があります。

シェーダーに lilToon を使っていれば、以下の記事のように GUI からプロパティを設定することでフォールバックシェーダーを設定できます。しかし、眼鏡のレンズは lilToon 以外のシェーダーを使っていることも多そうです12

そこで、本記事では GUI からフォールバックシェーダーを設定するのに対応していないシェーダーに対してフォールバックシェーダーを設定する方法について解説します。Mai Glass Shader!3をベースに説明しますが、おそらく他のシェーダーにも適用できる内容だと思います。

シェーダーに VRCFallback タグを設定する

公式ドキュメントに記載の通り、シェーダーに VRCFallback タグを設定することで、フォールバックシェーダーを設定することができます。

Inspector でレンズ部分に当たっているマテリアルを探し、 Edit... をクリックします。

image.png

そうすると、エディタが起動してシェーダーの定義部分のソースコードが開かれます。ドキュメントに記載がないのですが、タグを設定する場所は SubShader 内です。

Tags{ "RenderType" = "Opaque"  "Queue" = "Transparent+0" "IsEmissive" = "true" }

のような行を探してください(他のシェーダーでは異なるかもしれません)。見つけたら、以下のように変更します。

Tags{ "RenderType" = "Opaque"  "Queue" = "Transparent+0" "IsEmissive" = "true" "VRCFallback" 
= "Hidden" }

ここではフォールバックシェーダーを Hidden に設定しているため、うまく設定できていれば眼鏡のレンズが表示されなくなるはずです。変更を保存し、Unity に戻るとコンパイルが走ります。VRChat SDK のコントロールパネルから Build & Publish し、ラジアルメニューの オプション>アバター>フォールバックシェーダー で表示を確認してください。

問題なければ、これで対応完了です。

  1. https://booth.pm/ja/items/3750938

  2. https://booth.pm/ja/items/3479462

  3. https://booth.pm/ko/items/2734598

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?