すべてのカテゴリ
Back to blog

Blog

PNG を 3D STL モデルに変換する方法

ハイトマップ、等高線押し出し、オンラインツール、Blender を使い、PNG を STL の 3D モデルに変換する方法を学びます。3D プリントとレリーフ造形向けの解説です。

PNG を 3D STL モデルに変換する方法

PNG を 3D STL モデルに変換する方法

1. PNG から STL への変換の基本原理

平坦なピクセルから 3D STL メッシュモデルへと変化する PNG 画像の図

PNG から STL への変換とは、2D のビットマップ画像を、3D プリントやモデリング、彫刻に使える 3D メッシュモデルに変えることです。PNG 画像に含まれるのはピクセルの色や透過率といった 2D の情報だけですが、STL ファイルは、三次元の表面形状を表す多数の三角面から成り立っています。

よく使われる変換方法には 2 つあります。

  1. グレースケール高さマップ変換

PNG 画像の明るさを高さデータへ変換します。多くは白い部分が高くなり、黒い部分が低くなり、グレーの部分はその中間に位置します。この方法では、レリーフや地形模型、テクスチャープレート、バッジなどの、浮き彫りのある 3D モデルを作れます。

  1. 輪郭押し出し変換

PNG のエッジまたは透過領域から輪郭を抽出し、2D の輪郭を一定の高さまで押し出します。キーホルダー、ロゴプレート、文字の看板、アイコンのモデルなどに使える STL ファイルを生成できます。

簡単に言えば、白黒のロゴやアイコン、シルエットであれば輪郭押し出しが適しています。グレースケールの画像、レリーフ画像、高さマップであれば、グレースケール高さマップ変換のほうがモデル生成に適しています。

---

2. PNG 画像と STL 3D モデルの違い

PNG と STL はまったく異なるファイル形式です。この違いを理解すると、なぜ情報が失われたり作り出されたりせずに PNG を複雑な 3D モデルへ直接変換できないのかが分かります。

PNG は 2D 画像形式で、次のような特徴があります。

  • ピクセルで構成される。
  • 透明な背景に対応する。
  • カラー、グレースケール、白黒の画像に対応する。
  • ウェブサイト、設計、アイコン、写真などの場面での利用が主である。
  • 実際の奥行き、厚さ、体積の情報は含まない。

STL は 3D モデル形式で、次のような特徴があります。

  • 三角面で構成される。
  • モデルの外側の表面形状を表す。
  • 3D プリント、CNC 加工、3D モデリングソフトで広く使われています。
  • 色や材質、テクスチャのような複雑な情報は保存しない。
  • 閉じた構造、またはほぼプリント可能なソリッド構造である必要がある。

したがって、PNG から STL への変換は、拡張子を変えるだけの作業ではありません。高さ、厚さ、輪郭、メッシュ形状といった 3D 情報を加えるためのアルゴリズムやモデリングの工程が必要になります。

たとえば円形の PNG 画像は、平坦な円のグラフィックにすぎません。STL に変換するときには、薄い円盤にするのか、円柱にするのか、レリーフコインにするのか、凸凹凸の入ったバッジにするのかを決める必要があります。変換方法によってまったく違う STL モデルが生まれます。

---

3. 3D モデルへの変換に適した PNG の種類

すべての PNG が STL への変換に適したわけではありません。写真做的就是 PNG でもレリーフ効果に変換できますが、たいてい下準備が必要です。エッジがはっきりしていてコントラストの強い画像のほうが、よりきれいな 3D モデルになります。

変換に適した PNG には、次のようなものがあります。

  1. 白黒のロゴ

ブランドマーク、クラブの紋章、簡略化されたグラフィックなどの例が該当します。輪郭が明確で、キーホルダー、名札、スタンプ、装飾品に向いています。

  1. 背景が透明なアイコン

背景が透明な PNG は、外側の輪郭を抽出するのに最適です。透明な部分を空間として、不透明な部分をソリッドとして扱えます。

  1. 白黒のシルエット

動物のシルエット、横顔、建物の外形などの例が該当します。全押し出しに向いています。

  1. グレースケールの高さマップ

グレースケールの画像は、レリーフ、地形模型、テクスチャープレートなどを生成できます。画像が趣味本位の高さマップに近ければ、近いうちほど結果が自然になります。

  1. 文字の PNG

文字の輪郭が明確であれば、3D 文字、家の番号、看板などの STL モデルに変換できます。ただし、文字が細すぎると、あとから 3D プリントする際の強度も検討する必要があります。

直接変換に向かない PNG には、次のようなものがあります。

  • 背景が複雑な写真。
  • 明るさの段階がはっきりしていないカラー画像。
  • エッジがぼやけた低解像度画像。
  • 細かなノイズの多いスクリーンショット。
  • 線が細すぎたり間隔が狭すぎる複雑なデザイン。

元の画像の品質が低い場合は、変換ツールに取り込む前に画像処理を済ませておくのが最適です。

---

4. 変換前に押さえておきたい画像準備のポイント

画像編集のインターフェースで PNG の背景を除去し、白黒のコントラストを強め、輪郭を単純にしている図

PNG を STL に変換する前に、まず画像を整理して最適化しておくのが最適です。画像がきれいであれば、得られる 3D モデルもプリントしやすくなり、面の破損、バリ、ギザギザしたエッジといった問題が起きにくくなります。

よく使われる準備のポイントは次の通りです。

  1. 解像度を上げる

PNG が小さすぎると、変換後のモデルに明らかなギザギザが出ることがあります。可能な限り高解像度の画像を使うたとえば、幅か高さが 1000 ピクセル以上のアイコンやロゴを使うようにします。

  1. 不要な背景を削除する

輪郭押し出しには、背景が透明な PNG か、白い背景に黒い被写体を持つ PNG が適しています。複雑な背景は輪郭検出の邪魔になります。

  1. 白黒のコントラストを強める

グレースケールの階調が細かいときは、明るさ、コントラスト、しきい値などの設定を調整して、主題をはっきりさせます。

  1. ノイズを減らす

画像内の小さな点、紛らわしい線、圧縮ノイズは、モデルの突起や穴になることがあります。消去ツール、ノイズ低減、ぼかしと二値化の組み合わせで取り除けます。

  1. 細い線を太くする

細すぎる線は STL に変換したあとにプリントしにくくなったり、スライサー上で消えてしまうことがあります。FDM 3D プリントでは特に重要で、線幅はノズル直径の 2 倍以上あるのが望ましいです。

  1. 複雑なディテールを単純化する

STL モデルはメッシュで出来ています。画像のディテールが複雑なほど、モデルの面数も増えます。ディテールが多すぎると、ファイルが大きくなり、ソフトの動作が遅くなり、プリント失敗の原因にもなることがあります。

Photoshop、GIMP、Photopea、Canva などの画像編集ツールを使うなら、変換の前に PNG を高コントラストの白黒版にしておきます。ロゴ画像の場合は、PNG を SVG ベクターファイルに一旦変換してから STL に押し出すほうが、より滑らかな結果になります。

---

5. グレースケールの高さマップから 3D モデルを作る

グレースケールの高さマップ変換は、PNG を STL に変換する最も一般的な方法のひとつです。基本的な仕組みは単純で、ピクセルの明るさがモデルの高さを決めます。

一般的には次のようになります。

  • 白い部分が最も高い地点を表す。
  • 黒い部分が最も低い地点を表す。
  • グレーの部分が中間の高さを表す。
  • グレーの階調が滑らかであるほど、モデルの表面も滑らかになる。
  • 白黒のコントラストが強いほど、高さの起伏も大きくなる。

この方法で作れるものには、次のようなものがあります。

  • 写真によるレリーフ。
  • 肖像のレリーフ。
  • 地形模型。
  • テクスチャープレート。
  • コインのレリーフ。
  • 装飾用のアートパネル。
  • 記念のプレーク。

基本的な作業手順は次の通りです。

  1. グレースケールの PNG 画像を準備する。
  2. PNG から STL への変換ツール、またはモデリングソフトを開く。
  3. 「Heightmap」「Displacement」「Relief」のような機能を選ぶ。
  4. 幅、高さ、厚さなどのモデルサイズを設定する。
  5. 表面をどれだけ高くするかという高さの強さを調整する。
  6. 3D メッシュを生成する。
  7. モデルが閉じているか確認する。
  8. STL 形式で書き出す。

パラメータを調整するときは、高さの比率に特に注意してください。高さが低すぎるとモデルのディテールがぼやけます。高さが高すぎると、表面が鋭くなり、プリントに適さなくなることがあります。

また、写真からレリーフを作る場合は、写真を高コントラストの白黒グレースケールに変換してから、適切にコントラストを強めるのが望まれます。肖像のレリーフでは、元の写真をそのまま使うのは避けましょう。背景や影、髪のディテールがモデルの表面を汚く見せてしまうからです。被写体を切り抜き、背景をぼかすか取り除いてから、高さマップを生成するほうがよい結果になります。

---

6. 輪郭押し出しで STL モデルを作る

輪郭押し出しは、PNG グラフィックスの境界を、厚みのあるソリッドオブジェクトへ変える手法です。グレースケールの高さマップ変換とは異なり、複雑な表面の高低差を作り出すのではなく、2D の形状を一定の厚みを持つ 3D モデルに変換します。

たとえば黒い五角星の PNG は、薄い星形の STL プレートに変換できます。背景が透明なロゴは、3D のロゴモデルに変換できます。

一般的な作業手順は次の通りです。

  1. 背景が透明な PNG、または白黒のコントラストが強い PNG を準備する。
  2. ツールでグラフィックスの輪郭を検出する。
  3. 輪郭をパスまたは面に変換する。
  4. 押し出しの高さを設定する。
  5. ベースプレート、ベベル、丸みを追加する。
  6. モデルが閉じているか確認する。
  7. STL ファイルを書き出す。

輪郭押し出しで作れるものには、次のようなものがあります。

  • ロゴモデル。
  • キーホルダー。
  • 文字の看板。
  • 家の番号プレート。
  • アイコンのディスプレイ用品。
  • スタンプの台座。
  • 装飾用のペンダント。
  • シンプルなシルエットモデル。

ただし、留意点があります。まず、PNG のエッジに半透明のピクセルが含まれると、ツールが多数の小さな断片的な輪郭を検出し、モデルのエッジが汚くなります。次に、複雑な模様や極小の文字のように小さな内部の穴が多いデザインでは、変換後のモデルに浮遊部品、破損、プリントしにくい箇所が生じることがあります。

よりよい結果を得るには、処理の前に PNG を純粋な白黒画像へ変換してください。黒をソリッド領域、白や透明部分を空間として扱います。これによりモデルのエッジがきれいになり、あとからの修復も容易になります。

---

7. PNG から STL への変換に使える主なオンラインツール

ブラウザで開いた PNG から STL への変換ツール。高さ、厚さ、書き出し形式の設定項目が見える

3D モデリングソフトを導入したくない場合は、まずオンラインの PNG から STL への変換ツールを試すのがよい選択です。オンラインツールは、複雑なモデルを急いで作るには向かず、初心者が結果を確認するには適しています。

オンラインツールの主な種類は次の通りです。

  1. 画像からレリーフを作るツール

たいてい PNG、JPG などの画像形式をアップロードし、グレースケールの高さマップ変換によってレリーフの STL ファイルを生成できます。写真によるレリーフ、バッジ、テクスチャープレートに向いています。

  1. ロゴから 3D を作るツール

白黒のデザインや背景が透明な画像を認識し、デザインを一定の高さまで押し出します。ロゴプレートやキーホルダーに向いています。

  1. リソファン(Lithophane)ツール

リソファンは、背光を当てた写真のレリーフを作るのに多く使われます。画像の明るさを異なる厚みに変換し、背光と組み合わせることで写真表現が現れます。

  1. SVG と STL の変換ツール

PNG を直接処理しないツールもあります。その場合は先に PNG を SVG に変換し、SVG を STL に押し出します。ロゴや文字に特に有効な方法です。

オンラインツールを使うときは、次の設定項目に注意します。

  • モデルの幅と高さ:最終的な実寸を決めます。
  • ベースの厚さ:背面のプレートの厚さを決めます。
  • 最大高さ:レリーフの最も高い地点を決めます。
  • 高さの反転:白と黒の高さの関係を入れ替えます。
  • 平滑化のレベル:ノイズやギザギザのエッジを抑えます。
  • メッシュの解像度:ディテールとファイルサイズに影響します。
  • 書き出し形式:STL に対応しているか確認します。

オンラインツールは便利ですが、複雑なモデルには適さないことがあります。画像をアップロードする際は、プライバシーや著作権にも考慮してください。商用のロゴ、顧客のファイル、未公開の設計であれば、ローカルソフトで処理するほうがよいです。

---

8. Blender を使って PNG を STL に変換する

Blender は強力かつ無料の 3D ソフトで、PNG から STL への変換にも使えます。オンラインツールと比べて制御が柔軟で、あとからの編集、修復、最適化に向いています。

よく使われる方法として、変位(Displace)を使ってレリーフモデルを作る手順があります。

  1. Blender を開いて新しいシーンを作成する。
  2. デフォルトの立方体を削除する。
  3. プレーンを追加する。
  4. 十分なメッシュ分割を持つようにプレーンを細分化する。
  5. マテリアルまたはテクスチャを追加し、PNG 画像を読み込む。
  6. Displace モディファイアや関連ノードを使って、グレースケールデータを高さへ変換する。
  7. 変位の強さを調整する。
  8. モデルにソリッドの厚みを加える。
  9. モディファイアを適用する。
  10. 法線の方向と、モデルが閉じているかを確認する。
  11. STL としてファイルを書き出す。

ロゴやアイコンの PNG には、別の方法を使うこともできます。

  1. まず PNG を SVG ベクターパスへ変換する。
  2. SVG を Blender にインポートする。
  3. カーブをメッシュへ変換する。
  4. 押し出しの高さを設定する。
  5. ベベルまたは丸みを追加する。
  6. 不要な点と線を結合して整理する。
  7. STL として書き出す。

Blender で STL ファイルを書き出す手順は次の通りです。

  1. 書き出したいモデルを選択する。
  2. 「File」をクリックする。
  3. 「Export」を選択する。
  4. 「STL」を選択する。
  5. 選択したオブジェクトのみを書き出す設定を有効にする。
  6. 単位とスケールを設定する。
  7. ファイルを保存する。

書き出しのあとは、スライサーソフトやモデル修復ツールでもう一度モデルを確認することをおすすめします。面の破損、法線の反転、非 manifold エッジ、薄すぎる箇所などがないか確認します。3D プリントのためには、モデルの寸法、壁の厚さ、底面の接地面積が妥当であることも確認してください。

まとめると、PNG から STL への変換は、オンラインツールなら素早く行えますし、Blender ならより精密に行えます。シンプルなロゴには輪郭押し出しが適しています。レリーフや地形、写真風の効果には、グレースケールの高さマップ変換のほうが適しています。事前に画像を適切に準備しておけば、最終的な STL モデルは十分な 3D プリント結果に到達できます。

Back to blog
WhatsApp: +86 132 4680 6113 +86 132 4680 6113 [email protected]