2026-09-12 · 2026-09-13 曎新

16ビット深床マップバンディングの盎し方ずPNGの確認方法

深床マップに出る段差や反転の原因を切り分けたす。再珟できる8ビット16ビットPNG実隓、ファむル怜査スクリプト、Blenderぞの読み蟌みチェックリスト付き。

16ビット深床マップバンディングの盎し方ずPNGの確認方法

最終曎新日2026幎9月13日。以䞋の゚ンコヌド枬定は合成グラデヌションによるもので、AIによる深床掚定の粟床を比范するベンチマヌクではありたせん。

ブラりザでは滑らかに芋える深床マップなのに、ディスプレむスメントをかけるず衚面に段々畑のような段差が出る。「16ビットPNG」で曞き出しおも䜕も倉わらない。そんなずきは、別の画像を生成したりメッシュを现かくしたりする前に、どの工皋で倀が階段状になったのかを確認しおください。拡匵子だけでは、その答えはわかりたせん。

結論深床マップのバンディングを防ぐには

次に䜿うアプリケヌションが察応しおいれば、モデルが出力した浮動小数点の深床倀から盎接曞き出した16ビットのグレヌスケヌルPNGを䜿いたす。8ビットのプレビュヌ、スクリヌンショット、JPEG、写真甚の圧瞮ツヌルは経由させないでください。そのうえで、ディスプレむスメントを詊す前に、ファむルのサンプル深床、倀の範囲、異なる倀の数を確認したす。

16ビットの入れ物に移しおも、倱われた粟床は戻りたせん。再珟可胜な実隓では、16ビットで盎接゚ンコヌドしたグラデヌションは4,096皮類の倀を保っおいたしたが、8ビットのグラデヌションを16ビットで保存し盎したものは256皮類しかありたせんでした。しかも䞡方の16ビットファむルは、同じサンプル深床ず0〜65,535の党範囲を瀺しおいたした。

この手順で盎せるこず、盎せないこず

この手順が扱うのは、曞き出し時の粟床ず、読み蟌み時によくあるミスです。AIによる盞察的な深床を実枬距離に倉えるこず、隠れた圢状を明らかにするこず、誀ったシル゚ットを修正するこず、加工に䜿えるレリヌフを保蚌するこずはできたせん。シヌンの深床掚定ず、圫刻甚に䜜られた高さデヌタは目的が異なりたす。

基本的な考え方は深床マップの入門蚘事を参照しおください。実際に曞き出す堎合、深床マップゞェネレヌタヌは初期蚭定で16ビットのグレヌスケヌルPNGを出力し、癜が近い偎か遠い偎かを衚瀺し、反転オプションも備えおいたす。

AIによる凊理では、最埌の゚ンコヌド盎前たで浮動小数点の倀を保持したす。䞀方、゚ッゞずがかしによる代替凊理を䜿ったずいう譊告が衚瀺された堎合、その凊理は8ビットの倀から始たるため、16ビットPNGでも最倧256階調しか含たれたせん。

8ビット、16ビット、浮動小数点のどれを遞ぶべき

次の䜜業 察応しおいれば遞ぶ圢匏 進める前に確認するこず
簡易マスクや倧たかなプレビュヌ 8ビットのグレヌスケヌルPNG 倀の段差が芋えおも効果に支障がないか
正芏化された深床からの滑らかなディスプレむスメント 盎接曞き出した16ビットのグレヌスケヌルPNG 元デヌタがすでに8ビットに萜ずされおいないか
浮動小数点の生の倀が必芁なパむプラむン アプリケヌションが指定する浮動小数点圢匏倚くはEXR 単䜍、無効倀、正芏化、読み蟌み時の芏玄
8ビット画像しか受け付けないツヌル 高粟床のマスタヌを残し、8ビットのコピヌを曞き出す プレビュヌず最終出力で十分な階調が保たれるか

PNGのサンプル深床はチャンネルごずの倀で、党チャンネルを合蚈したものではありたせん。「32ビット」のRGBA PNGは4぀のチャンネルそれぞれに8ビットを持぀ため、同じグレヌ倀を党チャンネルに入れおも256階調のたたです。W3CのPNG仕様では、グレヌスケヌルのサンプル深床ずしお1、2、4、8、16ビットが定められおおり、PNGには浮動小数点のサンプル圢匏がありたせん。

8ビットグレヌスケヌルの256階調ず16ビットグレヌスケヌルの65,536階調を比べた図

この図が瀺すのぱンコヌドで衚珟できる階調数であり、モデルの粟床や、すべおの画像が持぀べき倀の数ではありたせん。平らな面なら倀が1皮類でも正垞です。たた、ファむルサむズが倧きいこずは、掚定が優れおいる蚌拠にはなりたせん。

8ビットず16ビットの実隓では䜕を枬定した

4,096×64ピクセルの暪方向グラデヌションを䜜り、0から1たでを等間隔に4,096段階で䞊べたした。これをNumPyずPillowで3通りに゚ンコヌドし、各PNGを開き盎しお、ヘッダヌ、異なる倀の数、倀の範囲、元のグラデヌションに察する最倧正芏化誀差を枬定したした。

゚ンコヌド経路 PNGのサンプル深床 デコヌド埌の異なる倀の数 最倧正芏化誀差 ファむルサむズバむト
浮動小数点グラデヌション → 8ビット 8 256 0.001953602 528
浮動小数点グラデヌション → 16ビット 16 4,096 0.000007602 848
浮動小数点グラデヌション → 8ビット → 16ビット 16 256 0.001953602 819

3぀目の経路では、8ビットの各敎数に257を掛けおいたす。これで0は0に、255は65,535に察応するので、範囲は正しく芋えたす。それでも、最初の倉換で倱われた䞭間の倀は再珟できたせん。「16ビット」ずいう衚瀺や最も明るいピクセルだけを確認しおも、重芁な䞍具合を芋逃すのはこのためです。

枬定した異なる倀の数8ビットは256、盎接16ビットは4,096、8ビットを16ビット保存したものは256

これらのファむルは同じ行の繰り返しで非垞に圧瞮しやすく、極端に小さくなっおいたす。このバむト数から写真のファむルサむズは予枬できたせん。この実隓で切り分けたのは量子化だけです。深床モデルの比范、Blenderでのレンダリング怜蚌、実際の圫刻品質の枬定は行っおいたせん。このペヌゞのWebP画像は説明甚の図であり、粟床を保ったダりンロヌド甚マップではありたせん。

3぀のファむルを再珟するには、Python環境にNumPyずPillowをむンストヌルし、次のコヌドを実行したす。

import numpy as np
from PIL import Image

ramp = np.tile(np.linspace(0, 1, 4096), (64, 1))
a8 = np.rint(ramp * 255).astype(np.uint8)
a16 = np.rint(ramp * 65535).astype(np.uint16)
wrapped = a8.astype(np.uint16) * 257
for name, values in [("ramp-8", a8), ("ramp-16", a16),
                     ("ramp-8-in-16", wrapped)]:
    Image.fromarray(values).save(name + ".png")

ダりンロヌドしたPNGはどう怜査する

別のアプリケヌションで保存し盎す前に、ダりンロヌドしたたたのファむルに察しお実行しおください。実隓ず同じPythonパッケヌゞを䜿い、1チャンネルのPNGを前提ずしおいたす。RGBのプレビュヌ画像を枡すず、それを黙っお倉換しお深床デヌタのように芋せるのではなく、意図的に停止したす。

from pathlib import Path
import numpy as np
from PIL import Image

path = Path("depth.png")
raw = path.read_bytes()
assert raw[:8] == b"\x89PNG\r\n\x1a\n"
assert raw[12:16] == b"IHDR"
print("PNG sample depth:", raw[24])
print("PNG color type:", raw[25])  # 0 = grayscale
values = np.asarray(Image.open(path))
assert values.ndim == 2, "Inspect the grayscale export, not an RGB preview"
print("Range:", int(values.min()), int(values.max()))
print("Distinct values:", np.unique(values).size)
  • カラヌ衚瀺のプレビュヌではなく、グレヌスケヌルのダりンロヌドファむルであるこずを確認したす。
  • 16ビットで曞き出した堎合は、サンプル深床が16になっおいるはずです。
  • 倀の範囲が、䜿うパむプラむンに合っおいるか確認したす。
  • 異なる倀の数は内容に照らしお刀断したす。党画像に共通の合栌ラむンはありたせん。
  • 想定倖の平坊郚が芋぀けやすい、なだらかな斜面を確認したす。
  • 粟床が萜ちる可胜性のある倉換をしたら、そのたびに怜査し盎したす。

现郚が倚そうなのに倀が256皮類しかない画像は調べる䟡倀がありたすが、それは手がかりであっお断定ではありたせん。意図的に平らにしたマスクなら、倀が少なくおも問題ありたせん。逆に、補間によっお8ビットの元デヌタから䜕千もの倀が生たれおも、元の掚定倀が戻るわけではありたせん。ファむルを怜査しおも、凊理の履歎をすべお蚌明するこずはできたせん。

ほが真っ黒に芋えるプレビュヌにも解釈が必芁です。狭い数倀範囲に保存された生の深床は、それを読み蟌む偎の゜フトりェアにずっおは正しいデヌタかもしれたせん。次のツヌルが正芏化された深床を前提ずする堎合にだけコピヌを正芏化し、元のファむルずスケヌル情報は残しおください。画像サむズや圢匏の基本的な確認に぀いおは、画像サむズの確認ガむドで、通垞のファむル情報からわかるこずずわからないこずを解説しおいたす。

問題のないファむルがBlenderでおかしく芋えるのはなぜ

深床マップは数倀デヌタずしお扱いたす。Image Textureノヌドでは色空間をNon-Colorに蚭定し、衚瀺甚の色倉換がかからないようにしたす。画像を適切な高さHeightたたはディスプレむスメントの入力に぀なぎ、マテリアルのディスプレむスメント方匏を確認し、実際に圢状を動かすのに十分なゞオメトリがメッシュにあるかを確かめおください。

Blenderのディスプレむスメントに関するドキュメントでは、陰圱だけを倉えるバンプマッピングず、衚面そのものを動かすため现かく分割されたゞオメトリが必芁になる本来のディスプレむスメントを区別しおいたす。バンプではシル゚ットは倉わりたせん。メニュヌの䜍眮はバヌゞョンによっお異なるため、お䜿いのバヌゞョンに察応したドキュメントに埓っおください。

3段階の蚺断元の掚定を比べ、曞き出したPNGを確認し、最埌に読み蟌み蚭定を確認する

症状 最初に調べるこず 次に詊すず圹立぀こず
なだらかな斜面に芏則的な段差が出る 量子化、たたは途䞭での8ビット倉換 ダりンロヌドしたたたのファむルず読み蟌んだファむルを比べる
手前の被写䜓がぞこんで芋える 近い・遠いの芏玄、たたはディスプレむスメントの向き 䞀床だけ反転し、手前にあるずわかっおいる点ず比べる
マップは滑らかなのにシル゚ットがカクカクする ゞオメトリ䞍足、たたはディスプレむスメント方匏の誀り メッシュの䞀郚だけでゞオメトリを増やしお詊す
ガラス、髪、反射が奇劙な圢になる モデルによるシヌンの解釈 掚定結果を元の写真ず芋比べる
ビュヌアでマップがほが真っ黒に芋える 数倀範囲、たたは衚瀺凊理 レベル補正の前に、生の最小倀ず最倧倀を調べる

テスト䞭はディスプレむスメントのスケヌルを控えめにしたす。现郚を増やす前に、Midlevel、UVマッピング、切り抜き、瞊暪比を確認しおください。すべおの蚭定を同時に倉えるず、どの工皋が原因だったのか特定しにくくなりたす。

曞き出しから読み蟌みたでの確実なチェックリスト

曞き出す前に

  1. 元の写真ず、ダりンロヌドしたたたの深床マップを䞀緒に保管したす。
  2. 手前ず背景がはっきり分かれた画像を遞びたす。
  3. 曞き出し圢匏を決める前に、物䜓の境界を確認したす。
  4. 察応するワヌクフロヌでは、16ビットのグレヌスケヌルPNGを盎接曞き出したす。
  5. この曞き出しで明るい画玠が近い偎か遠い偎かを蚘録したす。

ダりンロヌドした埌に

  1. 保存したファむルのヘッダヌ、範囲、異なる倀の数を確認したす。
  2. デヌタずしお読み蟌み、䜍眮のわかっおいる点で向きを確かめたす。
  3. 本番レンダリングの前に、適切なゞオメトリで小さな範囲を詊したす。
  4. 互換性のための倉換をする前に、高粟床のマスタヌを残したす。
  5. うたくいった蚭定を保存し、以埌の曞き出しず比べられるようにしたす。

深床マップのマスタヌを、ふだんの画像圧瞮の手順に通さないでください。衚瀺甚に軜くした画像ず、信頌できる数倀デヌタでは求められる条件が違いたす。同様に、汎甚のAIアップスケヌラヌはテクスチャを䜜り出すこずがあり、それが高さずしお解釈されるず䞍芁な凹凞になりたす。

レリヌフや圫刻甚のアプリケヌションで䜿う堎合は、そのアプリケヌションのサンプル凊理ずグレヌスケヌルの向きを、ドキュメントで別途確認しおください。この蚘事では加工機での出力は怜蚌しおいたせん。カメラから芋た盞察的な深床だけでは、レリヌフの厚み、物理的な単䜍、加工蚭定は決たりたせん。

よくある質問

16ビットにするずAIの深床掚定は正確になりたすか

いいえ。より现かい出力倀を保おたすが、モデルによるシヌンの解釈の誀りは盎りたせん。

8ビットPNGを16ビットに倉換すればバンディングは消えたすか

入れ物を倉えるだけでは倱われた倀は戻りたせん。平滑化で段差を目立たなくはできたすが、深床デヌタそのものが倉わりたす。

16ビットPNGなのに異なる倀が256皮類しかないのはなぜですか

途䞭で8ビットの工皋を通った可胜性がありたす。ただし、単玔な画像なら倀がその皋床しかないのは正垞です。

深床マップでは垞に癜が近い偎ですか

いいえ。芏玄はツヌルによっお異なるため、曞き出し偎の「近い遠い」の衚瀺を確認し、手前にあるずわかっおいる点で確かめおください。

JPEGをディスプレむスメントマップずしお䜿えたすか

レンダラヌが受け付ける堎合はありたすが、非可逆圧瞮のため、正確な深床倀を保぀マスタヌには向きたせん。

32ビットRGBAのPNGは16ビットグレヌスケヌルより高粟床ですか

グレヌスケヌルの深床マップでは違いたす。「32ビット」RGBAは8ビットのチャンネルが4぀ずいう意味なので、ツヌルが意図的に深床を耇数チャンネルぞ詰め蟌たない限り、グレヌ倀は256階調のたたです。

ブラりザのプレビュヌで䞡方のファむルが同じに芋えるのはなぜですか

衚瀺甚の倉換で䜙分な数倀粟床が芋えなくなるためです。元のデヌタを怜査し、実際に䜿うアプリケヌションで詊しおください。

この深床マップで実際の距離を正確に枬れたすか

いいえ。正芏化された盞察的な掚定倀からは、物理的な距離も芋えない圢状もわかりたせん。

ガむドを読みながら無料ツヌルをお䜿いください。

WhatsAppの画像サむズず制限画質を萜ずさずに写真を送る のカバヌ画像

2026-10-28

WhatsAppの画像サむズず制限画質を萜ずさずに写真を送る

WhatsAppはすべおの写真を圧瞮したす。筆者はプロフィヌル写真、ステヌタス、共有画像をテストし、圧瞮をスキップしおフル解像床を保぀ドキュメント送信の裏技を発芋したした。

Googleにファビコンが衚瀺されない原因8぀ずそれぞれの解決策 のカバヌ画像

2026-10-27

Googleにファビコンが衚瀺されない原因8぀ずそれぞれの解決策

Googleにグレヌの地球や叀いアむコンが衚瀺され続ける理由ず修正方法。ホヌムペヌゞのタグ、サむズず圢匏のルヌル、クロヌル遮断、曎新にかかる期間を解説。

画像からのGIFメヌカヌ高速で読み蟌たれるアニメヌションGIFを構築 のカバヌ画像

2026-09-13

画像からのGIFメヌカヌ高速で読み蟌たれるアニメヌションGIFを構築

耇数の画像をりェブや゜ヌシャルメディア向けのアニメヌションGIFに倉換できたす。正確なフレヌムタむミング、各プラットフォヌムのサむズ制限、そしお動画ではなくGIFを遞ぶべき状況など、詳现なガむドを提䟛したす。