LoginSignup
4

More than 3 years have passed since last update.

三角形をオブジェクト表面に張り付ける

Posted at

概要

今回、卒業制作で使用する組木細工のアニメーションに使った手法について質問が多かったので記事にします。

EPbnH9KVUAA_hUl.jfif

硬く書こうと思ったんですが無理なんで適当に行きます。

組木細工

wafuu.jpeg
日本の伝統技能で、主に障子や小物に使用される、木を組み合わせて作られる形状。六角形の形が多い。
この画像は去年Mayaで作ったものです。

六角形で出来ているがほとんど正三角形を組み合わせて出来ているので、正三角形で幾何学形状を作成します。
L-system使うと簡単。

方法

まず、Remesh等を使用して望んだ濃度の三角形を作成します。
その三角形それぞれにこの今作った形状を添わせればいいだけです。仕組みとしてはそれだけ。
Desktop Screenshot 2020.02.05 - 21.22.22.13.png
じゃあそれをどうやるのか、ポリゴン中心点と方向合わせてコピーする、VDBにしてコピー等色々考えましたが、一番簡単に出来たのは「Point deform」を使用した方法でした。
Desktop Screenshot 2020.02.05 - 21.23.46.51.png

point deformはその名の通りポイントをデフォームしてくれるノードです。
変更するオブジェクト、ガイドするオブジェクト、移動先で入力し、ガイドと移動先は同じポリゴン数である必要があります。
danceTOmy_133.jpg

こんな感じに別で作ったアーマーをアニメーションする人に着せたりすることができます。
ちなみに佐久間先生の授業で知りました感謝。
method studioのMVも多分コレかxyzdist使って作ってるんじゃないかな。重いけど応用が結構効く楽しいノード。

添わせる

では、まず敷き詰めたい三角形状のオブジェクトを作ります。
今回、僕はこれで行きます。
Desktop Screenshot 2020.02.05 - 21.19.30.81.png

まず、ForEachPrimitivノードでプリミティブ1つ1つに処理が出来るようにします。
次に、それで取り出した3角形をデフォームしたい形状と同じ形にします。
Desktop Screenshot 2020.02.05 - 21.35.39.86.png

自分はVEXで書きました。
@P=point(1,"P",@ptnum);
で添わせることができます。
これでpoint deformに必要な変更するオブジェクト、ガイド、移動先が出来ました。
これらを繋いで完成です。
ね?簡単でしょう?
Desktop Screenshot 2020.02.05 - 21.36.32.71.png

応用

pig_lightning.jpg
応用でアニメーションタイミング変えるとこんなのが出来る。
コレは評判が良かったり、気が向いたら書きます。

質問や意見があれば遠慮なく。

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
4