Paper2D用のマテリアルを作る(5) SpriteTextureSamplerをコピーした後は名前を戻す
「今回マテリアルで色々遊んでいて発生したトラブルなんだけど、コピーして作ったSpriteTextureSamplerノードに、色々ピンをつないでも正常に表示されない。名前のところが SpriteTexture_1 と、この_1が付いてることによって、正常に表示されなくなる」
妹「不正常な表示ってどんな感じになるの?」
正常なやつ
不正常なやつ
「なんとも説明しにくいんだけど、白い階段のような、とにかくバグちゃってる表示になる。この名前欄は通常書き換え不能(変えてもすぐ元に戻る)なんだけど、コピーした時と、すでにノードがある状態で作成したノードの初期名は、こういう風になっちゃうことがある」
妹「変えちゃいけない名前が変わっちゃうというのは、バグなのでは?」
「そのような気もする。他にStaticSwitchParameterとかでも、コピーすると末尾に_1の付いた別の変数になったりする。こっちは別の名前だと別のフラグとして扱われるだけだけど、元のやつと同じフラグを参照したい時は名前を戻す必要がある」
妹「ところで誤植がありますぞ。SpriteTextureSamplerじゃなくてSourceTextureノードみたい」
「それはどれが本当の名前かよくわからないやつなんだよ。ドキュメントではSpriteTextureSampler表記みたいなんだけど」
右クリックした時のノード一覧 SpriteTextureSampler
画面上のノード表示 SourceTexture
正しいParameterName SpriteTexture
「という具合に全部バラバラになってる。このへんはどういう理由なのか不明」