妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

テクスチャの透明部分についた色

f:id:una_unagi:20151207221334p:plain

妹「昨日言ってたテクスチャの透明な部分の色なんだけど、消した後の色が残ったにしては、こんな風に茶色に塗った記憶とかないんだけど、全部背景茶色になってるのはなんでだろ? サムネイルでも茶色になってる」

「サムネイルもOpaque設定で表示されてるみたいだけど……他の画像をテクスチャにしても別に茶色にはならないから、UE4が原因というわけではなさそう。妹はSAIでテクスチャ作ってたから、そのせいかなあ」

f:id:una_unagi:20151207221536p:plain

「ということでSAIで保存した画像がこれ。これは同じ物を透過PNGと透過TGAで保存した。最初に緑で字を書いて、それを消して、ピンクの枠線を引いてある」

妹「画像形式が変わると透明部分の色が変わってるの?」

「TGAの方は透明部分が黒、PNGの方は近くの色が伸びていってる感じ。緑がちょっとだけあるのは、よく見ると元データで微妙に消し残しがあった。逆に言うと完全に消した部分の緑色はどちらにも残ってない。妹のスプライトは茶色で縁取りしてたから、それで背景も茶色になってたんだと思う」

妹「それはPNG形式の仕様かなにかでそうなってるの?」

PNGでも背景黒になってるやつはあったからPNGの仕様ではないと思うけど、でも同じようになるのもあったからSAI特有の仕様でもない。どっちのパターンもありえる感じ」

妹「そんな曖昧な……どうせゲーム中では透明になるとは言っても、消したはずの書き間違いとか残ってて、なんかの拍子にそれが見られちゃう可能性とかもあるんじゃないの? PNGにすれば安全とかあるんだったら全部PNGにするんだけど。茶色になるんだったら害はないし」

「細かい処理はソフト側で違うから、試してみないとなんとも。それぞれのピクセルにRGBの光の三原色+透明度があるのは確かだから、何かしらの色は塗ってあるけど、それが書き損じがあれば残るのか、完全に透明な部分を黒とか白とかで固定するのか、近くにある色を伸ばすのか、やってみないとわからない」

妹「でも透明だったら色が残っててもわからないのでは?」

「普通はそれ調べるの大変だけど、UE4の場合は読み込んでみて、テクスチャ画像のサムネイルを見るのが手っ取り早い。茶色いやつは全部茶色に見えてるし、サムネイルの時点でおかしな文字とか出てなければ大丈夫」