Godotバージョン:
3.0.3
バージョンを含むOS /デバイス:
Fedora 26
問題の説明:
フラグメントシェーダーと、組み込み変数TIMEを使用する関数を作成しました。 「式に不明な識別子:TIME」というエラーが表示されます。 ただし、fragment()関数ではTIMEを使用できますが、自分の関数では使用できません。
実例:
shader_type spatial;
render_mode unshaded;
void fragment()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
ALBEDO = col;
}
動作しない例:
shader_type spatial;
render_mode unshaded;
vec3 getColor()
{
vec3 col = 0.5 + 0.5*cos(vec3(0.0, TIME, 0.0));
return col;
}
void fragment()
{
vec3 col = getColor();
ALBEDO = col;
}
再現する手順:
フラグメントシェーダーを作成し、TIMEを使用する関数を記述します。
最小限の複製プロジェクト:
シェーダー_TIME.zip
#18315の複製。これはすべての組み込み変数をカバーしていますが、何らかの理由でバグとしてラベル付けされていません。
最も参考になるコメント
#18315の複製。これはすべての組み込み変数をカバーしていますが、何らかの理由でバグとしてラベル付けされていません。