見出し画像

3dプリント用のモデルのテクスチャー化法 (2種類) 備忘録

はじめに

 3dプリントするとき、モデルに模様をつけたいときがある。ただのツルッとしたケースじゃ味気ない!和風の模様とかつけたい!とか。そういうときは、何かしらのツールが持つ「テクスチャ」という機能で表面に模様をつけるのが一般的。

それを実施する手段としては
1. ウェブアプリ
2. 何かしらのソフトの機能
3. 自作のプログラム
などが上げられる。

 ここでは1.と2.の方法を紹介していく。3.は作成中。なお、内容は半分以上マルス電子サービスさんという神が紹介している以下の手順を、3dモデリング超絶初心者の自分でも理解できるレベルで、より細かく分解してマニュアル化したもの。前に習得したのだが一瞬で忘れてしまったので備忘録として残すことにした。

1. モデルの用意

 stlファイルを用意する。
 ここでは定番のお船モデル、ベンチーを使っていく。下記のFiles→一番下の3dbenchy.stlをダウンロードする。

2. 画像の用意

 テクスチャ用の画像を準備する。
 基本、たくさんテクスチャ用画像を並べることになるので、シームレス (繋いだときに不連続部分が出ない) 画像を用意する必要がある。下記画像のようなイメージ。

画像
テクスチャ用のシームレス画像とは

 画像はフリー素材を探してもいいし、自分で作ってもいい。最近は生成AIでシームレス画像も簡単に作れるようになっているので、独特な模様とかを作りたいならそちらを利用するのもあり。英語だが下記のポストが参考になる。

 以下のような具合でChatGPTに頼んで生成できる。若干シームレスじゃなかったりするので、調整は必要になる。著作権は重要ということで、今回はこの生成した画像を使っていく。グレースケールとお願いしてるのは、色の濃淡をモデルの凹凸に反映させるからで、色がついても意味がないかむしろ邪魔になるから。

画像
ChatGPT 4oを使ったテクスチャ用画像の生成例

3. リメッシュ

 非常に重要な工程。元の3dモデルファイルではファイル容量を抑えるために必要最低限の粗いポリゴンで構成されており、いまやりたいテクスチャパターンを浮かび上がらせるにはほぼ100%分解能が足りない。
なので下処理としてポリゴンの細かさを上げてやる必要がある。どのくらい上げるかはテクスチャパターンの細かさ次第となる。
やりかたとしてはBlenderを使った方法と、外部ソフトを使った方法とがあり、前者を紹介してくい。こちらもマルスさんが紹介してくださっているので、それを更に分解していく。

3-1 STLファイル読み込み

 Blenderを起動する。なおここではBlender4.4を使用した。中央に邪魔なキューブがあるので左クリックで選択してオレンジ色にし、Deleteボタンを押すか右クリック→削除で消す。

画像
最初に出てくる邪魔なキューブ

ウインドウにstlファイルをドロップしてインポートする。

画像
stlファイルをドラッグアンドドロップすると出てくる画面。「STLをインポート」を押す。

読み込むと下記のような画面になる。

画像
3dbenchy.stlをインポートした様子

3-2 モデュファイアーによるリメッシュ

この画面のまま、「モデュファイアー」の「リメッシュ」機能を選択する。
・右下の青いスパナマーク(モデュファイアータブのアイコン)を左クリック
・タブが切り替わり「モデュファイアーを追加」という文字が出てくるので左クリック
・「生成」にマウスカーソルを当てる
・いろいろな機能が出てくるなか、上から10個目に「リメッシュ」があるので選択する

画像
リメッシュの場所。結構奥まっている。

 そうするとモデュファイアーのタブにリメッシュの設定が出てくる。リメッシュ設定は
・ボクセル
・ボクセルサイズ 0.2 m
・適応力 0
・スムーズシェーディング なし
とする。ポリゴン (ここではボクセル) を小さくしたい場合はボクセルサイズを0.2 mから0.1 mなどに小さくする。 詳細は
https://docs.blender.org/manual/ja/dev/modeling/modifiers/generate/remesh.html
を参照のこと

画像
リメッシュ設定。ボクセル、ボクセルサイズ0.2 m

※※ここ非常に重要※※
 カメラマーク右の↓アイコンを左クリックし、「✓適用」を左クリックしてモデュファイアーを適用するこの工程は知らないと一生気づかないので注意。モデルを左クリックしてCtrl+Aから「表示の形状をメッシュ化」でもできるが、前者のほうが早い。

画像
モデュファイアーの適用。そんなとこにあるんかい。

3-3 リメッシュの確認

上のメニューで「UV編集」のタブを選択して編集モードに切り替え、メッシュのチェックをする。細かくメッシュが切られていれば成功。

画像
リメッシュに成功した様子
画像
リメッシュできてない場合 (適用をしてないとか、設定がおかしいなど) の様子

4. テクスチャ化

 テクスチャ化は、上で紹介したようにウェブアプリを使った方法とBlenderを使った方法の2種類があるので両方紹介していく。

4-1 ウェブアプリによる方法

 こちらではFormlabsさんのウェブアプリ「Formlabs Texture Engine」を用いた方法を紹介する。
 ・リメッシュしたstlファイルを、新たなリメッシュ済stlファイルとしてエクスポート (not保存) する。 ファイル→エクスポート→STLでOK。

画像
エクスポート手順

 ・リメッシュしたstlファイルを用意したら、以下のサイトにアクセスしてウェブアプリを開く。読み込みがおかしいことがあるので何回かリロードすると良い。

このような画面が出てくる。

画像
Formlabs Texture Engineの初期画面 (ログイン済)

 こちら、ファイルを出力するにはFormlabでユーザー登録が必要なので、右上の人型アイコンをクリックして登録を済ませ、ログインをすること。

 ・ログインしたら、左上の「Upload 3D model or displacement map」を押し、先程保存したリメッシュ済みstlファイルを選択して読み込む。そうすると下のような画面になる。

画像
リメッシュ済ベンチーを読み込んだ様子

・stlファイルを読み込んだら、次はテクスチャを変更する。左のメニュー上でマウスホイールを動かすか中央やや左にある灰色の上下スライドバーを動かし、画面の下の方を見る。そうするとDisplacement Mapというのが出てくる。ここには既に用意されているテクスチャが何種類かある。

画像
Displacement Map (既存テクスチャ)

ここにもし気に入ったテクスチャがあればそれを使っても良いし、オリジナルのテクスチャを使いたければ、自分で用意した画像ファイルをこの画面の左でも右でもどこでも良いのでドラッグアンドドロップする。

画像
自分で用意した画像をドラッグアンドドロップした様子

 ・あとはパラメータを調整する
  Scale: 大きくするほど、テクスチャのパターンが細かくなる
  Amplitude: 大きくするほど、模様に応じた表面凹凸が大きくなる
  Sharpness: よくわからない。モデルのカーブ部分でなにか効くらしい
  Offset: モデルに対してテクスチャの凹凸を食い込ませるかオフセットさせるか。おそらく薄壁のモデルではオフセットしないと穴があく
  Max Triangles: 大きいほど出力するstlのメッシュが細かくなるがファイル容量も大きくなる。

 ・最後に出力をする。右に表示されているモデルの下部に青色の「Generate↓」というボタンがあるので左クリックし、好きな場所にstlファイルを保存する。

4-2 Blenderによるテクスチャ化

 Blenderによるテクスチャ化も紹介していく。リメッシュをBlenderでやっているのでこちらのほうが早いこともある。
 流れとしてはUV投影→ディスプレイスというのをやっていく。

【UV投影】
 ・UV編集タブ画面のまま、右下の赤い◯のマーク(マテリアルタブのアイコン)を左クリックするとタブが切り替わるので、その画面にある「+新規」を左クリックする。

画像
マテリアル→新規の場所

そうすると、少し時間が掛かったあと、このようなマテリアルの各種項目が出てくる

画像
マテリアルの各種項目

非常に分かりづらいが、「ベースカラー」の左にある黄色い◯を左クリックすると左にメニューが展開され、その中の左から2列目の「テクスチャ」の上から5番目にある「画像テクスチャ」を選択する。

画像
画像テクスチャの選択

そうすると先程の「ベースカラー」のところが真っ白から「画像テクスチャ」に変わり、更に「開く」というボタンが追加されているので、そちらを左クリックして作成したテクスチャ画像を選択する。

画像
変更されたベースカラー部分

 ・モデルのメッシュを選択するため、キーボードのAを押して全選択をする。

画像
Aを押して全選択した様子

全選択したら、モデルの上くらいにある「UV」を左クリックし、上から6番目の「スマートUV投影」を左クリックする。設定はそのままで「展開」を左クリックする。

画像
スマートUV投影の場所
画像
スマートUV投影の設定

そうするとこのような画面になる。

画像
スマートUV投影直後の様子

また非常に分かりづらいが、左画面と右画面との間、虫めがねマークの右あたりに「<」というアイコンがあってタブが隠れている。なので「<」マークを左クリックすると下記のようなタブが3つ出てくる。

画像
非常に見つけにくい3つのタブ

そのうちの「ビュー」タブを左クリックして、「画像をリピート」をOnにする。これでテクスチャを細かくしやすくなる。

画像
「画像をリピート」をOnにした様子

ここまでしたら、左画面で左上の「ボックス選択」アイコンをクリックして黒くなった3dモデルのパーツたちを選択し、その後4つ下にある「スケール」アイコンをクリックし、選択した黒いパーツたちを拡大 or 縮小させる。パーツを拡大させればテクスチャが細かく入り、逆に縮小させればテクスチャが大きく入る。

画像
「スケール」でパーツを拡大した様子。テクスチャが細かく入るようになった。

【ディスプレイス】
テクスチャに合わせて歪ませていく。
・まず見やすくするためにモードを編集モードからオブジェクトモードに変える。右画面の左上にあるドロップメニューから変更する。

画像
オブジェクトモードへの変更場所
画像
オブジェクトモード画面

 ・右下の赤いチェッカーボードの四角(テクスチャタブのアイコン)を左クリックし、タブを切り替えて「+新規」を左クリックし、「開く」から同じテクスチャ画像を開く。

画像
テクスチャタブから画像を開くところ

 ・画像を開いたら、更に右下の青いスパナマークを押してモデュファイアータブを開き、「+モデュファイアーを追加」→「変形」→「ディスプレイス」を左クリックする。

画像
ディスプレイスの追加

・ディスプレイス画面になにやらテクスチャアイコンがあり、その右に「+新規」というのがあるので左クリックする。

画像
ディスプレイスを追加したての画面

・テクスチャ選択画面が出てくるので、先程テクスチャタブで読み込んだ画像を選択する。サムネイルが出ているのでどれが該当テクスチャなのかはわかる。

画像
テクスチャの選択

そうするとモデルに凹凸がつく。

画像
ディスプレイスが適用された状態

「座標」のところを「ローカル」から「UV」にすると、テクスチャに沿った凹凸になる。「強さ」のところを変えると凹凸の強弱が変化する。Formlabsのウェブアプリのようなオフセットはつけられないかもしれない。

画像
座標を「UV」にした様子

さらにテクスチャを滑らかにしたいときやポリゴンを減らしたいときなどは、モデュファイアーとして
・生成→サブディビジョンサーフェス
・生成→デシメート
を追加して下のような順番で適用すると良い (マルスさん説明によると)。

画像
処理を追加したい場合。右の:::を掴むと上下移動できる。

・最後にstlファイルとしてモデルをエクスポート (not保存) する。
 ファイル→エクスポート→stlファイルでOK。

画像
stlとしてのエクスポート方法


画像
出力したファイル。ウェブアプリを使用したものよりきれいかも。 

5. 出力ファイルのプリント

 出力されたファイルをPrusa slicerなどのスライサで開いてプリントをする。 プリント時の注意として、ボトムのほうにまでテクスチャが反映されており、ほぼ確実にファーストレイヤーが点接触になる。そういったことが発生したら、モデル全体のz座標を下げ、埋め込み状態にしてスライスをすると良い。いやボトムもテクスチャほしい、ということであればサポートを使うこと。

画像
出力されたstlファイルをPrusa slicerで開いた様子 (ウェブアプリ版)
画像
ボトム点接触対策1: 沈ませ
画像
ボトム点接触対策2: サポート








いいなと思ったら応援しよう!

ピックアップされています

memo

  • 1本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
3dプリント用のモデルのテクスチャー化法 (2種類) 備忘録|Mithril_MEX
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1