LoginSignup
5
3

【Blender】立体アンビグラムの作り方 【ジオメトリーノードもあるよ 】

Last updated at Posted at 2023-12-09

こういうのをつくりました

3D0001-0059.gif


環境

Blender 3.3.12


アンビグラムとは

別の方向から見ても文字に見えるやつ
image.png
https://ambigram-lab.tumblr.com/image/666196835292069888
画像:アンビグラム研究室( https://ambigram-lab.tumblr.com/ )

立体アンビグラムというものもジャンルとしてはあるみたいです(wikipediaより)
image.png
https://ja.m.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:3d-ambigram.jpg

ブーリアンモディファイアを使った作り方

テキストをメッシュ化、面を押し出して、こんなふう↓に重ねます
image.png

どちらかの文字にブーリアンモディファイアをかけ、intersect(交差)にします
”Object”に、使わなかったほうの文字を指定します
image.png

ブーリアンを適用して、使わなかったほうの文字を削除します
image.png

カメラのタイプをOrthographic(平行投影)にしてください
image.png
(普通のカメラだと重ならないですよね・・・考えてなかった)

完成

0001-0050.gif

作例

後述するジオメトリーノードによって量産できるようになりました

Hello World

0001-0065.gif
複数文字

うえ

0001-0065 (1).gif
フォントや回転の向きも変えられます
オブジェクトから適用(apply)を行うと、手作業での加工もできます

晴曇雨

0001-0071.gif
頑張れば三方向もできます

おまけ(本編) ジオメトリーノードを用いた自動化

こんなかんじのノードを組んだら、
image.png
文字を動的に変更できるようになりました
Blender_ [C__Users_omi_Desktop_blenders_items_blend_geo_ambigram.blend] 2023-12-07 21-30-36.gif


ノード解説

左から順に見ていきます

オブジェクトからString属性を取り出し、1文字ずつ分割する

image.png
オブジェクトはなんでもいいです

どちらの文字もほぼ同じ事をするので、片方だけ解説します

String to Curveでテキストをカーブに変換し、Fill Curveで閉路に面貼りする

image.png
String to Cruveのプロパティで文字の位置を調整します
Fill CurveはTrianglesが無難です

面の押し出し

image.png
いちばん苦戦した部分です 試行錯誤の跡が見えるかと思います

さっき貼った面を押し出して立体化したいのですが、問題はExtrude Meshの仕様です
普通にモデリングするときのExtrudeは、元の面を維持しながら、それに接続された面を新たに作成する操作です。
しかし、Exturde Meshノードはこれに対応せず、なぜか元の面を消去してしまいます。
なので、Extrude Meshノードで作成した面と元の面を接続する必要があります。

面の向きが逆になっているのでFlip facesを挟み、Mesh BooleanのUnionでつなぎます。
このとき、Flip FacesとExtrude MeshをただJoin Geometryでつなぐだけだと、両者の間に隙間が生まれてしまいます。
ただオブジェクトを表示するだけならそれでも良いのですが、Mesh Booleanをするとき(2文字の共通部分をとるとき)不都合が生じます。

両者の接続方法としてMerge by Distanceなども試したのですがうまくいかず、結果として写真のようになりました。

https://blender.stackexchange.com/questions/256600/geometry-node-extrude-mesh-is-not-solid
この部分ではこのコミュがめちゃ役に立ちました。ありがて~
Merge by Distanceがうまくいかない理由や、もっとスマートにやる方法をご存じの方がいらっしゃいましたら教えていただけると嬉しいです

位置の調整

image.png
うまいこと原点に動かします。
Translate InstancesのTranslationにExtrude MeshのOffset Scaleに応じた値を入れることで、厚みを変えても原点から動かないようにできます。

もう片方の文字と交差をとる

image.png
モデリングによる作り方と一緒です。
オブジェクトに隙間ができていたり、面の向きがそろっていなかったりするとここで困ります。

マテリアルを適当に設定して、完成!
0001-0020.gif

Blenderでつくったものをあげるアカウント:https://twitter.com/Blend_r_you
よろしければよろしくおねがいします

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3