Help us understand the problem. What is going on with this article?

unityでshaderに動的に数値を設定しても動かなかった話

More than 1 year has passed since last update.

先に結論

materialがinstanceされてて
数値指定は非instanceのマテリアルに当たってた。

症状

・unityからuniformでshaderにsetfloatで数値を渡していた
・挙動が切り替わる変数と切り替わらない変数があった
・getfloatで数値が切り替わってることは確認していた

原因(ポカ)

・数値を切り替えるスクリプトが複数あり、
 起動後にマテリアルを取得するものと、手動でアタッチしているものがあった。
 前者はうまく動き、後者がうまく行っていなかった
・glslだったため、実機でテストしていてinstance化に気付いていなかった

対応

・スタートでマテリアルを取得するようにした

koukiwf
株式会社エクシヴィ R&D斥候
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away