Animation Node2: Offset Polygon続き

FallOffで各ポリゴンをそのエッジ中心にトランスフォームさせる。記事「Animation Node2: Offset Polygon」の続き。タイトルに「Offset Polygon」はつけていますがトランスフォームの基点はポリゴンの中心になってしまうため、今回そのノードは使いません。

ポリゴンのトランスフォーム基点は「Extract Polygon Transforms」で取得します。Extraction TypeがDefaultのままなら中心の変換行列を取得できます、「Edge」へ切り替えるとポリゴンを構成するエッジのどれかにもとづいた変換行列(Transfom Matrix)を取得出来ます(1)。それを元にポリゴンの頂点を逆変換(2)、FallOffに基づいて頂点をオフセット(3)、最後に元の変換行列をかけてあるべき位置へ戻す(4)の4ステップでエッジを軸としたトランスフォームを実現します。

要Blender2.8+Animation Nodes v2.14 test build for Blender 2.8

いつかの時点で「Offset Polygon」ノードにポリゴンの変換行列の入力があったようですが最新版ではなくなっています。それがあればもっと少ないノードで実現できたのですが、ノードの粒度を細かくする方針なんでしょうね。

追記

下は最適化したバージョンです。逆変換、オフセット、変換の復元を 一つループ内 で処理しています。


Animation Node2: Offset Polygon

Animmation Nodes2からポリゴン単位のオフセットの組み方がめんどくさくなった?AN1.6ぐらいは”Polygon Info”や”Change Matrix Pivot”ノードがあって簡単にできましたが、AN2からそれらのノードがなくなってますね。

下は AN2.0でポリゴン中心にトランスフォームする例です。 “OffsetPolygon”ノードだけで簡単に出来ます。ポリゴン中心を起点ににトランスフォームするだけなら。

ポリゴンエッジを軸に回転をさせるとなるといっきに複雑になります。以前は”Change Matrix Pivot”でポリゴンそれぞれの変換行列の中心をエッジの位置へ変更するだけだったと思うのですが、AN2よりそのノードがなくなって、ポリゴンへ逆行列かけてオフセットしてまたもとの位置へ戻して…と手間が増えました。

ノードの名前代わって見つけられてないだけかな。