こんにちは、Unityエンジニアのオオバです。

Unityでコンピュートシェーダーを始めてみた
先日始めたコンピュートシェーダーにおけるトラブル備忘録です。

1.FindKernelしてもカーネルが見つからない問題

そもそもカーネル名をタイポしているというのは除外すると、ほぼ9割型シェーダーのコンパイルエラーが原因かと思います。
一応以下のような対処記事がありました。
404 Not Found - Qiita - Qiita
しかし、オオバが出会った状況は、全てシェーダーの記述ミスによるコンパイルエラーでした。

2.フロート型の書式でシェーダーのコンパイルエラー

おそらくHLSL全般にいえるのかなという内容です。整数に対しfサフィックスをつけるとエラーです。

OKパターン

float a = 1.0f;  

失敗パターン

float a = 20f;  

3.コンピュートシェーダーのコンパイルエラーは無言

コンソールにシェーダーコンパイルのエラーなんて親切なことはしてくれません。目安はコンピュートシェーダーのインスペクタです。

コンピュートシェーダーコンパイル成功パターン

Unityでコンピュートシェーダーを始めた時にトラブったこと3点_0

コンピュートシェーダーコンパイル失敗パターン

Unityでコンピュートシェーダーを始めた時にトラブったこと3点_1

この2つの違いは、カーネルが表示されているか、していないかです。コンソールで語ることはしないようです。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

もくじ

ひとこと

オススメ記事
検証環境