お知らせ

VRChat で使用できるシェーダーは次のページにまとめています。

環境を構成するシェーダー/アセットについては次のページにまとめています。

ライティング及びポストプロセスについては次のページにまとめています。

仕様

  • 色空間 (Color Space) リニア (Linear)
  • レンダリングパス (Rendering Path) フォワード (Forward)

参考:

VRChat SDK インポート時 | VRChat 技術メモ帳

Deferred Rendering Path and HDR – VRChat Feedback

透明/透過シェーダー (Transparent / Alpha / Cutout)

カスタムレンダーキュー
  • 一般のオブジェクト/不透明 (Opaque) 2000
  • カットアウト (Cutout / Alpha Test) 2450
  • 透明/透過/半透明 (Transparent) 25003499 の範囲で適切な描画順となるように調整する。

参考:

VRChat ワールドにおける半透明の取り扱いについて/描画順の仕組みを理解しよう | wata23

透過された画像をアバターとして使う方法 | ネット衆善奉行

アバターに無段階の透過を実装する手順 | みかんねここ

ユニティちゃんトゥーンシェーダー Clipping 使用時の描画順を直す | わたあめ子

透過された画像をアバターとして使う方法 | ネット衆善奉行

魔法陣を展開する方法 | テトラログ

Search Results for ‘Transparent’ – VRChat Ask Forum

Search Results for ‘Transparent’ – VRCat

シェーダーキーワード

公式サイト:

Keywords – Avatar Optimization Tips | VRChat [Official]

リンク:

Recommended Keywords | Pastebin.com

レンダリング方式

  • シングルパスステレオレンダリング

シェーダーがシングルパスステレオレンダリングで実行しているかどうかは、UNITY_SINGLE_PASS_STEREO が定義されているかどうかで判定できる。

#if UNITY_SINGLE_PASS_STEREO
  // single pass stereo
#else
  // otherwise
#endifCode language: Arduino (arduino)
スクリーン空間

スクリーン空間でテクスチャサンプルを行う場合、マクロを使用する。

// Declare
UNITY_DECLARE_SCREENSPACE_TEXTURE(_TextureName);

// Sample
value = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_TextureName, i.uv);Code language: Arduino (arduino)

参考:

シェーダーの VR 対応 | 黒鳥のメモ

そのシェーダー、本当に VR 対応できてますか? Pimax、広視野角ヘッドセットへの対応 – Qiita

ポストプロセスを使って、2D でも 3D でも VR でも使えるフェードとシーンの遷移 | kan のメモ帳

Projection of skymap to objects in VR (Single Pass Stereo) – Unity Forum

レンダーキュー (Render Queue)

過去にマテリアルに設定したカスタムレンダーキューが反映されないというバグ (仕様?) があり、シェーダーのレンダーキューを直接変更しなければならなかったが、現在は修正されている。

参考:

Use with VRChat | Type74

Tips

Shader 関連 | VRChat 技術メモ帳

ワールドを Unity 2017 環境から Unity 2018 環境へ移行する方法 | Kluele_VRC

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA