Godot: シェーダーエラー「式の不明な識別子:TIME」

作成日 2018年06月21日  ·  1コメント  ·  ソース: godotengine/godot

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

archived bug core rendering

最も参考になるコメント

#18315の複製。これはすべての組み込み変数をカバーしていますが、何らかの理由でバグとしてラベル付けされていません。

>すべてのコメント

#18315の複製。これはすべての組み込み変数をカバーしていますが、何らかの理由でバグとしてラベル付けされていません。

このページは役に立ちましたか?
0 / 5 - 0 評価