UltKit

PNGをOBJに変換

PNGを、Blenderやゲームエンジン、レンダリングシーンにそのまま読み込める3Dメッシュに変換します。グレーの濃淡は高さになり、地形タイルや浮き彫りパネルを作れます。透明背景のロゴは、厚みのある押し出しバッジになります。

3Dモデル変換

またはSTL, OBJ, MTL … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    PNGをアップロード

    グレースケールの高さマップ、写真、背景が透明なロゴを最大20枚まで選べます。JPG、WebP、BMPも同じ手順で変換できます。

  2. 2

    レリーフか形状を選択

    画像の変換方法の初期値はレリーフで、1 mmのベースの上に5 mmの高さ/奥行きが設定されています。ロゴには押し出し形状を選び、明るい部分を高くしたい場合は高さを反転にチェックを入れます。

  3. 3

    OBJに変換

    OBJに変換 →を押して、できたファイルを3Dアプリに読み込みます。シーンの単位がメートルの場合は、アプリ側でスケールを調整してください。

PNGのハイトマップをメッシュに変換する

高さマップは3Dグラフィックスで昔から使われている手法で、明るさを標高として扱うグレースケール画像です。地形エディター、スカルプトブラシ、ディスプレイスメントシェーダーなどで読み込まれ、UnrealエンジンのLandscapeツールも、まさにこの目的で16ビットのグレースケールPNGを読み込みます。ここでの違いは、シェーダー効果ではなく固定されたメッシュが得られる点です。形状がOBJの中に存在するので、どの形式で書き出しても残ります。

コンバーターは画像をグリッドとしてサンプリングし、各点を明るさに応じて高さ/奥行きを上限に持ち上げ、端を閉じてベースプレートを加えます。押し出し形状では、透明または明るい背景を除いた残りの形を均一に押し出します。PNGのロゴがシーン用のバッジや看板になるのは、この仕組みです。

ポリゴン数にご注意ください。ピクセルごとにジオメトリが増えるため、4,000 × 4,000の高さマップではゲームのシーンに必要な量をはるかに超える重いメッシュになります。ほとんどの小道具なら512〜1,024ピクセルの画像で十分です。もっと軽くしたい場合は、Blenderでデシメートしてください。同じレリーフを印刷したい場合は、画像をSTLに変換をご覧ください。

モデルの幅
5–1,000 mm
高さ/奥行きの範囲
0.2–100 mm
ベースの厚さ
0–50 mm
1回の変換枚数
20

PNG

Portable Network Graphics

PNG は、1996年に PNG Development Group が公開し、のちに W3C と ISO が標準化した可逆のラスター形式です。すべてのピクセルを正確に保持し、完全なアルファ透明に対応し、文字、シャープな輪郭、単色の面をノイズなく扱えます。この正確さから、スクリーンショット、ロゴ、アイコン、UI グラフィックに最適です。代償はサイズで、PNG で保存した写真は、同じ写真の JPEG や WebP の数倍になることがよくあります。すべてのブラウザ、OS、編集ソフトで PNG を開けます。

圧縮方式
可逆
透過
対応
アニメーション
非対応
登場時期
1996 · PNG Development Group
PNG 変換

OBJ

Wavefront OBJ

OBJ は Wavefront Technologies が開発した3Dジオメトリ形式です。頂点、テクスチャ座標、法線、面を列挙したプレーンテキストのファイルで、マテリアルとテクスチャは別の .mtl ファイルで参照します。ほぼすべての3Dモデリングソフト、ゲームエンジン、3Dプリント用ツールで読み込めます。OBJ はアニメーション、リギング、シーン階層に対応しておらず、MTL と画像ファイルを一緒に保管しないとテクスチャが失われます。

圧縮方式
–
透過
–
アニメーション
非対応
登場時期
Wavefront Technologies
OBJ 変換

PNGをOBJに変換するのは、高さマップやロゴ、エンボス風の画像を、平らなテクスチャではなく実際のジオメトリとして、Blenderやゲームエンジン、レンダラーに取り込むためです。

変換したOBJをBlender、Unity、Godotに読み込む

Blender

  1. 01ファイル > インポート > Wavefront (.obj) を選びます。
  2. 02座標はミリメートルで書き込まれているため、シーンが実寸のメートル単位なら0.001倍にスケールします。
  3. 03画像を表面に表示したい場合は、PNGを真上からの投影でテクスチャとして追加します。

Unity

  1. 01.objをAssetsフォルダにドラッグします。
  2. 02Unityでは1ユニットが1メートルとして扱われるため、インポート設定でScale Factorを調整します。
  3. 03モデルをシーンにドラッグして、マテリアルを割り当てます。

Godot

  1. 01.objをプロジェクトフォルダにコピーします。
  2. 02GodotはファイルシステムドックでメッシュリソースとしてOBJを読み込みます。
  3. 03メッシュをMeshInstance3Dノードに割り当て、マテリアルを追加します。

PNGからOBJへの変換に関するよくある質問

PNGから背面や側面のある完全な3Dモデルを作れますか?

1枚の画像からはできません。PNGには1方向の見え方しかなく奥行きの情報がないため、変換ではレリーフか押し出した輪郭を作ります。背面は平らになります。立体物全体を作るには、多数の写真を使うフォトグラメトリか、手作業のモデリングが必要です。

PNGのハイトマップでは白が高い部分と低い部分のどちらですか?

ゲームエンジンやGISの高さマップでは、白が高く黒が低くなります。このコンバーターのレリーフは、エンボス加工の写真のように見えるよう、初期設定では暗い部分を高くします。地形の高さマップを使う場合は高さを反転にチェックを入れてください。

地形が階段状にガタガタになるのはなぜですか?

8ビットのグレースケールPNGは明るさが256段階しかないため、高いレリーフでは段差が目立ちます。高さ/奥行きを小さくするか、アップロード前に高さマップを少しぼかすか、読み込み後にBlenderでメッシュをスムーズにしてください。

OBJにPNGの色は反映されますか?

レリーフは明るさだけで作られるため、出力はジオメトリとして扱ってください。元の画像を表示したい場合は、BlenderでPNGをテクスチャとして真上からの投影で貼り付けます。メッシュは画像と同じ縦横比なので、ぴったり重なります。

画像から作るモデルはOBJとSTLのどちらを選ぶべきですか?

3Dソフトやゲームエンジンで使うならOBJが適しており、ほとんどの環境で読み込めます。3Dプリンターに送るならSTLを選んでください。印刷用には、出力をSTLにして同じオプションを設定できるPNGをSTLに変換をご利用ください。

画像を3Dモデルにするその他の方法