teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

テクスチャフォーマットの差異について追記

2019/08/30 23:19

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -1,3 +1,17 @@
1
1
  2枚目のスクリーンショット(Terrain LayersやBrushesなどの設定項目が表示されているもの)において、Terrain Layers内の各レイヤーを選択するとその直下に表示される欄(スクリーンショットでは「Corte_Layer」と表示されている)の右端に「Open」ボタンがありますが、これを押してみると内容はどうなっているでしょうか?
2
2
 
3
- このボタンを押すとそのレイヤーのアセットファイルが選択され、インスペクター上でさらに詳しくレイヤーの材質を編集することができるかと思いますが、何か反射の原因になりそうな箇所はないでしょうか(たとえばSmoothnessが高すぎるとか...)。
3
+ このボタンを押すとそのレイヤーのアセットファイルが選択され、インスペクター上でさらに詳しくレイヤーの材質を編集することができるかと思いますが、何か反射の原因になりそうな箇所はないでしょうか(たとえばSmoothnessが高すぎるとか...)。
4
+
5
+ **追記**
6
+ 情報ありがとうございます。ご提示いただいた「Five Seamless Tileable Ground Textures」をダウンロードして試してみたところ、おっしゃる通り「Grey Stones」だけが強烈なスペキュラーハイライトを発生させてしまいますね。
7
+
8
+ このテクスチャと他のテクスチャに何か違いがないか調べてみたところ、他のテクスチャはRGBしか持たない3チャンネルなのに対し、Grey StonesだけはRGBAの4チャンネルになっているようでした。アルファチャンネルは一見全面不透明ですが、透明度を強調してみると下図のように岩の形に沿って少しだけ透明になっている部分があるようでした。
9
+
10
+ ![図1](1ab383ad7b6e5186c42339121b02fc88.png)
11
+
12
+ ですが透明度はごくわずかで、表現上意味のある役割を持っているようには思えませんでした。おそらく作者の方は他のテクスチャ同様に完全不透明の画像として作ったつもりだったものの、製作過程での透明部分が何らかの理由で微量に残ってしまった状態でPNGを出力した結果、他と異なるアルファチャンネル付きPNGになってしまったんじゃないでしょうか。
13
+ [Unity - Manual: Terrain Layers](https://docs.unity3d.com/Manual/class-TerrainLayer.html)によるとDiffuseのアルファチャンネルはシェーダーによって様々な用途に用いられるらしいですね。実際のシェーダーコードがどうなっているかまでは未調査ですが、多分デフォルトのシェーダーの場合はSmoothnessとして使用されるんじゃないかと思います。
14
+
15
+ Grey Stonesのインポート設定を変更してアルファチャンネルを読み込ませないようにしたところ、下図のようにテクスチャがRGBAからRGBに変わり、シーン上のハイライトが消失しました。
16
+
17
+ ![図2](ef879e3aa5af7b59026b79ba289afc9d.gif)