1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Substance Designer】テクスチャの書き出しについて。色深度、拡張子など

1
Last updated at Posted at 2026-07-17

SubstanceDesigner2024 14.1.2build - Steam edition

はじめに

SubstanceDesignerでテクスチャを書き出す際「どの設定が良いのか」「どうやって書き出すのか」等、あまりまとめられた記事がなかったのでゲーム目線でまとめてみました。

主に
・色深度
・拡張子
についてオススメの設定や書き出し方を記載しています。

色深度

色深度とは色の滑らかさ(階調)を表す値で、bit(ビット)で表されます。
8bitは256段階、16bitは65,536段階の色を表現できます。

ビットの深さ 扱い
8bit   8bitのグレースケールテクスチャ
16bit   16bitのグレースケールテクスチャ
24bit 8bitのRGBテクスチャ
32bit 8bitのRGBAテクスチャ
64bit 16bitのRGBAテクスチャ

テクスチャのビットはプロパティの詳細で確認できます。
2026-07-17_15h45_01.png

そしてゲームにおいては、8bitが最適です。
その理由として、16bitのテクスチャをUnrealEngineにインポートすると色味が変わってしまうからです。(Unityは16bitでも問題なさそう)
2026-07-17_17h18_43.png

ただし、8bitでもsRGBのチェックを外すと16bitテクスチャのような見た目になってしまいます。そのため、テクスチャとして使用する際はsRGBのチェックを入れた方がよさそうです。
2026-07-17_17h21_36.png

sRGBについて

sRGBとは、人間の目が感じる明るさに合わせて色を補正(ガンマ補正) するための色空間(カラースペース)です。

なぜこのカラースペースが必要なのかというと、
そのままの色の情報を出力(Linear)すると数値上は綺麗なグラデーションがかかっていても、人間の目には綺麗なグラデーションに見えないです。
そのため、人間の見える範囲内で色を調整したものがsRGBというものです。

あと余談ですが、
テクスチャをNormalやMaskとして使う場合は色を「数値」として扱うので、人間の目に合わせて補正されたsRGBじゃなくてそのままの色情報を書き出せるLinerの方が良い結果を得られるかも。

書き出し方法

8bit16bit の書き出し方を紹介します。

8bit

8bitで書き出す方法は2つあります。

・ TGAで書き出す
tgaで書き出すと強制的に8bitになります。
2026-07-17_18h49_02.png

この時、OutputノードのフォーマットをDefaultFormatにしておくことで「グレースケールの時は8bit」「RGBのときは24bit」「アルファがあるときは32bit」と、自動で切り替えてくれます。
2026-07-17_18h51_49.png

・ 8bitにしたノードを挟む
levelsノードを挟み、OutputFormatをAbsoluteにする。
※ OutputFormatを変えられるノードならなんでもok
スクリーンショット 2026-07-17 185616.png

そしてOutputFormatを8bit per Channel
2026-07-17_19h08_41.png

こちらも同じく、OutputノードのフォーマットをDefaultFormatにしておくことで「グレースケールの時は8bit」「RGBのときは24bit」「アルファがあるときは32bit」と、自動で切り替えてくれます。
2026-07-17_18h51_49.png

ディザノイズについて

"階調不足でグラデーションの境界が見えてしまう現象" を抑える機能を「ディザノイズ」といいます。
そして、8bitで書き出した場合は必ずディザノイズが入ってしまうようで、ディザノイズをなくしたい場合は8bit以上で書き出した方が良さそうです。
詳しくは下記の記事にまとめられています。

Substance Designerのディザノイズ削除

16bit

まず、SubstanceGraphのフォーマットを16bitにします。
(何もない所をダブルクリックするとSubstanceGraphのフォーマット設定が出てきます)
2026-07-17_19h36_27.png

または、新しくSubstanceGraphを作成する際にフォーマットを16bitに設定します。
2026-07-17_19h39_35.png

そして、OutputノードのフォーマットをDefaultFormatにしておくことで「グレースケールの時は16bit」「RGBやアルファがある時は64bit」と、自動で切り替えてくれます。
※ 48bit(RGB)の出力には対応していないようです。
2026-07-17_19h59_07.png

16bitで書き出す際はすべてのノードが16bitになっていることを確認してください。
一度でも8bitのノードが使用されているとデータが汚くなってしまいます。
2026-07-17_19h46_38.png

拡張子

ゲームで使われるテクスチャの拡張子は、おそらく下記の4つだと思います。
それぞれの特徴や利点を紹介していきます。

  • png
  • tiff
  • exr
  • tga

png

基本的に、エフェクトのテクスチャはpngで問題ない。

色深度を
RGBA8(8bit × 4チャンネル = 合計32bit)
RGBA16(16bit × 4チャンネル = 合計64bit)
まで扱える。

データ容量が軽い。

tiff

よく海外のエフェクトテクスチャに使用されているイメージがある。

tiffはpngと比べて、
・16bitだけでなく32bit Floatに対応している(色の範囲が広い)
・DCCツールとの相性が良い
の利点がある。

ただ、pngと比べて容量が大きく圧縮形式もたくさんあるので管理しにくい。
そのため個人的にはtiffを使うならpngでいいのではないかと思う。それかexr。

exr

よく映像で使われている。
ゲームだとVATを利用するときにexrを使用している。

pngと比べて、
・32bit Floatに対応している
・DepthやNormalなどを1ファイルに保存できる(Multi-Channel EXR)
・HDRに対応している
の利点がある。

pngやtiffより容量が大きい。

tga

昔ながらのテクスチャフォーマット。
データがかなりシンプルで、アルファチャンネルの扱いがとてもわかりやすい。

アルファの扱いについて

引用 - PNG・TGA・アルファの扱い
2026-07-17_21h30_11.png

圧縮されていないので互換性が良く、扱いやすい。しかし容量が大きい。
※ ただTGAはRLE圧縮するとかなり容量が小さくなる

テクスチャをゲームに組み込む時は圧縮され同じBC7データになる(はず)ので、pngやtgaやexrでもゲームの容量は変わらない。

拡張子の変更方法

Formatでtgaやpngを選択できる。
image.png

おわりに

今回ゲーム目線でまとめましたが、このあたりは映像業界の人の方が詳しいと思います。

あと、この記事は前に書いた記事のブラッシュアップ版です。


参考にした記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?