はじめに
この記事は、Unityのver依存で頻繁に起こっていたMRTKv2シリーズのshaderエラーを直す方法を
書いている記事です。
Meta Quest2にビルドする際に起こってしまう場合の助けになればと思います。
※MRTK3では使えるかわかりません。
開発環境
機材やソフト | バージョン |
---|---|
Meta Quest2 | |
Unity | 2021.3.4f1 ~ 3.5f1 |
Windows10 | |
Visual Studio 2019 | |
Mixed Reality Feature Tool | v1.0.2111.0 Preview |
※Unityのバージョンは記載してあるバージョンでしか試せてないです。
他のバージョンでも起こる可能性はあります。
Mixed Reality Feature Tool
Mixed Reality Toolkit | バージョン |
---|---|
Mixed Reality Toolkit Foundation | 2.8.2 |
Mixed Reality Toolkit Standard Assets | 2.8.2 |
Mixed Reality Toolkit Test Utilities | 2.8.2 |
Mixed Reality Toolkit Tools | 2.8.2 |
Mixed Reality Toolkit Extensions | 2.8.2 |
Platform Support | バージョン |
---|---|
Mixed Reality OpenXR Plugin | 1.4.4 |
起こったエラー
-
Shader error in 'Mixed Reality Toolkit/Standard': Non system-generated input signature parameter () cannot appear after a system generated value. at line 775 (on gles3)
-
Error building Player: Shader error in 'Mixed Reality Toolkit/Standard': Non system-generated input signature parameter () cannot appear after a system generated value. at line 775 (on gles3)
解決方法
このエラーの内容でMixedRealityToolkit-Unityリポジトリーのisuueに上げている方々がおられました。
エラー内容を見てもMixedRealityStandard.shaderの775行目が問題の箇所になっているみたいなので
見てみると画像のようなコードになっています。
issueでもこの行に言及しており、自分は応急処置として下の画像の様に
775行目 fixed4 frag(v2f i, fixed facing : VFACE) : SV_Targetの
, fixed facing : VFACE をコメントアウトしてみました
すると今まで通りにビルドできるようになっています!!
終わりに
shaderの問題の箇所についてちゃんとした説明をできていないですが
エラー解消はできると思うので試してみてください。
もしできなければ、UnityやMRTKの修正やverで変わったかもしれないと
理解していただけると助かります。