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

追記

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です