イラレで作った文字データをBlenderに取り込んで、
彫ったり立体にしたりするとき、
多少のコツを知らないといくつかのバグに悩んだり、
面数の多すぎる重いポリゴンに悩むことになる。
これはよろしくないので、体得したコツをまとめて書いておく。
【大まかな流れ】
1. イラレデータを.svgに変換、Blenderにインポート
2. 取り込んだものの面数を減らす
3. それを使って立体にしたり、彫り用に使ったりする
1. svg変換とインポートのコツ
イラレでは、グループ化するのではなく、
「ひとつのオブジェクト」にすること。
つまり、パスファインダーで「合体」させておくこと。
中空はOK。ただしあとで見るようにバグが発生しやすいので、
そこはあとでチェックしなきゃ、と自覚しておこう。
また、「線上の点」などを放置しないこと。
いくつかの図形を合成したときに線状に点だけ残されることが多い。
これがのちのちのBlenderのバグの原因になるので、
「最小点での構成図形」になるように、
余計な点は全部ペンツールの-で除去しておくこと。
(この余剰の点が、のちのちBooleanなどを適用する時にバグの原因になる)
「ひとつの、無駄のないもの」になったら、
ファイル/スクリプトからsvg形式で書き出す。
このファイルをBlenderに読み込めば良い。
Blenderにインポートしたとき、
「え?どこにインポートされたの?」ってなる。
3Dカーソルの場所にインポートされるので、
Shift+Cで3Dカーソルを原点に戻してからインポートすると探しやすい。
で、これBlenderのバグその1だと思うんだけど、
めっちゃ小さくインポートされるんだよね。
3Dカーソルの付近をBで選択してテンキー.でそのオブジェクトにズームすると、
ミリ以下の大きさでインポートされてるのが確認できると思う。
とりあえずSで100倍くらいしたら見えるサイズにはなるだろう。
(Blenderのメッシュの単位をミリでやってる前提で話しています)
ちなみにこの為に、イラレ上でサイズは紙(アートボード)いっぱいに拡大しておくこと。
アートボードからはみ出したものは切られるみたい。
A4いっぱいにしたとしても、
Blender内にインポートするとミリ以下になるのは解せぬ。
いずれバージョンが上がればこのバグも解消されるかもね。
で、バグ2。
そのオブジェクトの座標ハンドルが、
イラレ上の左上に初期設定されてしまう。
オブジェクトの真ん中にこいや。
これはあとで真ん中に手動で持っていきます。
文字が複数のパーツからなっている場合、
パーツ単位で別オブジェクトになるようである。
(合体させていても。グループ化のみの場合、もっとややこしいパーツ組みになる)
なので全部選択してjoinして、ひとつのものにしてしまったほうがいい。
インポートされた時点で、
Blenderのポリゴン形式(メッシュ: 点と線と面で定義されるもの)
ではなく、カーブ形式(点と制御点のイラレと同じ方式)だ。
まずこれをメッシュに変換しよう。
covert to(コマンドの場所を忘れたのでいつもスペースキーで検索してる)
で、カーブからメッシュに変換できる。Alt+Cのショートカットは忘れがち。
ちなみにイラレの文字データは、
塗りつぶしたものと塗りつぶしていない線だけのものがある。
塗りつぶしてないものは、
前の部分が、点と辺という形式に変換され、
塗りつぶしたものは、
塗りつぶした部分が面として追加される。
ただ、この面が三角ポリゴンでインポートされるので、
めちゃくちゃ面数が増えて重くなる。
Tabでエディットモードに入ってみると、簡単なRでも、
めちゃくちゃ面数がある。
これをなんとかしようぜ、というのが本題だ。
ちなみに、
じゃあ塗りつぶしてないやつなら、
ややこしくないかというとそうでもない。
塗りつぶしたやつの三角ポリゴンのある位置に点が出来るだけのよう。
つまり、直線で2点でいい部分に、何個も点が追加される。
こうした複雑なものに変換されてしまうので、
これを手動で簡単にしようということ。
この下拵えをやっておかないと、
のちのちBooleanで合成されるときにバグりやすい。
2. 取り込んだものの面数を減らすコツ
さて、本作業に入ろう。
塗りつぶしたものでも線だけのものでも良い。
どちらが良いかは、あとの工程が簡単になるやつにしよう。
僕は法則を理解してないので、時の運だなあ。
その文字のエディットモードに入る。
Aで全選択、remove doublesを適用。
メッシュ変換のバグで、
点がダブっている場合が多々ある。
(ちなみにやや複雑な薙刀式ロゴをインポートしたら、
1230のダブった点があったそうな。多すぎやろ)
これがのちのBoolean合成の際にバグになるっぽい。
で、
塗りつぶしたものの場合、
面が複雑な三角ポリゴンで埋め尽くされてるので、
エディットモードでAで全選択、
X→disolve facesで全部を一面にしてしまう。
幸い複数の面をそれぞれ一面ずつにしてくれるっぽいが、
複雑な時は一個一個の面ごとにやったほうが安全。
ひとつだけ注意があり、
中抜きのあるタイプの文字(Aなど)は、
面をひとつにせず、二面にすること。
どこか境界線を二つ残しておくとよい。
ふたつの面が合成された感じにしておくと、
Booleanの抜きがうまくいく。
Bだと中抜きが二つあるので、三つの面にしておくと、
あとでBooleanが上手くいくだろう。
塗りつぶしてないものの場合は、
面を張りたい点を選択後Fで、
一個一個面を張ってください。
どっちの作業が楽かは文字の形によると思う。
あと、オブジェクトのハンドルが左上のままだった。
エディットモード内でAで全選択して、
Gでハンドル位置が真ん中に来るように動かそう。
これであとあとの作業が楽になる。
やっと、下拵えおしまい。本作業に入る。
目の前には、
メッシュに変換された、
線と点だけで縁があり、
ダブった点が除去された、
ブロック内の面は一つの面になっている、
ハンドルが中央にある、
平面メッシュが存在するはずだ。
ここから簡略化をしていく。
まず、
エディットモードで拡大して直線部分を確認しよう。
面が三角ポリゴンだったときの名残りで、
直線部分に点が残っていることがある。
これを目視で除去する。
X→disolve vertexを、一個一個やっていく。
これは手作業しかない。
(自動化するコマンドあったら教えてください)
このあとのDecimate作業の後にやったほうが、
手作業は楽になるかも。
ちなみに、
どれくらいの精度でそれは使われる?
折れ線状態のオブジェクトとバレない程度に、
複雑なメッシュを簡略化するモデファイヤがあるよ。
これで点の数を減らせる。
カクカクの折れ線とバレない範囲まで減らせるぞ。
オブジェクトモードでモデファイヤを適用する。
Decimateというのがそれ。
Rateに数字を入れることで、
形を保ったまま、点の数を減らせる。
0.2だと20%に点を減らすイメージ。
経験的に、0.2くらいまでだと殆どわからない。
0.1や0.15だと曲線によってはカクカクする。
applyするまではRateに色々数字を入れてエンターするとプレビューできるので、
いい塩梅のところでapply。
これで点が大体20〜30%に減る。
劇的に軽くなるぞ。
もし曲線によって減らし加減を変えたいなら、
Shift+Dで複製して、いるパーツだけ残してXして、
別々にDecimateを適用した上で、
再びJoinで再結合するといいだろう。
あるいは、
エディットモードで、いらない点をXで除去して、
Fで線や面を再び張り直す、
という一番泥臭いことをやってもいいだろう。
所詮はポリゴン、折れ線であるからね。
最後確認で、
エディットモード内で全部の点をAで選択して、
remove doublesしておこう。
たまにダブりが残ってることがある。
あと、直線部分に残る点を、一個一個除去(X→ disolve vertex)しておこう。
最小の点と面で構成される、
ダブりのないオブジェクトにクリーンナップすること。
3. 立体にしたり、彫り用に使ったりするコツ
これで、
点のダブってない、軽い、
平面のメッシュができたので、
点をAで全選択し、Eで押し出して立体にする。
これをBooleanで、
他のオブジェクトと結合したり(浮き出し文字)、
減算すればよい(彫文字)。
Boolean演算子は、ダブりや余計な点があると、
バグりやすい。
なので意図してない形になることがまれによくある。
なので、2の作業を綿密にやっておいたのだ。
文字を合成→他のオブジェクトと合成→また合成…
と繰り返すことはよくあるので、
バグが最初にあるとどんどん拡大していく。
なんでBooleanが上手くいかないんだ?
とよーく見ると、文字部分の点にダブりがあるとか、
稀によくあることだ。
こうした事故を防ぐために、
前に綿密にやったわけだ。
また、平面でない曲面に、
浮き彫り文字や彫文字がやりたい時もある。
文字立体を同一曲面でカットして、
それをオブジェクトと合成して、
という泥臭いやり方もあるが、
ナイフプロジェクトを紹介する。
まず作った文字オブジェクトをShift+Dでコピーして別に置いといてから
(これはBlenderで作業するときのコツ。
不可逆なオペレーションをやる前にコピーしたオブジェクトを置いておき、
作業場の横に順番に置いとくと手戻りしやすい)、
文字オブジェクトを平面に戻す。
つまり立体部分の点をXする。
また、面の部分も全部X。
つまり面を張ってない、線と点だけの状態に戻した。
エディットモード内のtool/knife projectを利用する。
これは別のオブジェクトの上空にこの文字部を持ってきて、
真上視点から文字を投影したものを、
オブジェクトにknifeしてくれる便利コマンド。
使い方はググってください。説明面倒なので。
これをやると、オブジェクトの曲面上に、
文字の線部分だけが生成される。
あとは内部の面を選択して、Eで押し出せばOK。
+なら浮き彫り、-なら彫文字になるわけ。
これは垂直に押し出してるけど、
うまく面をSで縮小すれば、三角刀で彫ったようになったり、
エッジにCtrl+Bを適用すれば、
面取りで丸めたり出来ると思われる。
これで、ほぼほぼ、
イラレで作った文字やロゴを、
blenderの立体に彫ったり、穴あけが可能だね!
独自文字やマーク入りやイラスト入りのキーキャップや、
ケースが作れるぞ!
精度が高い3Dプリンタなら、
二色成形、n色成形をはめ込みで可能!?
2021年02月13日
この記事へのコメント
コメントを書く