UVのカットと縫合はUV Flattenを使用します。
こちらはFBXでロードしたUVです。
もし、既に設定されていたUVを使用したくない場合、Attribute Deleteで削除することもできます。
一度に展開する場合、SideFX LabsのAuto UVが便利です。
これを切ったりくっつけたりしていきます。
Auto UVを使用すると便利な点はEdge GroupとしてSeamsが追加されているからです。
これが最初から作成されているととても便利です。
なぜか・・・
切り離したエッジをくっつけるにはUV Flattenを使用するのですが、このFlattening Constrainsにエッジが切り離されているという情報が必要になります。
UV FlattenのCut Toolを使ってエッジを切っていくと
このようにエッジを切った情報が残ります。
しかし、UVを別のノードやソフトウェアでUVを展開した場合、現在カットされているUV Edgeの情報がありません。これだと縫合できないんです。
Auto UVだとこのカットしたUV Edgeをseamsグループとして保存しておいてれるので、再利用することができます。
では、UV unwrapやFBXで既にUV展開済のジオメトリを持ってきた場合、どのようにUV編集すればいいのか!
まずは、現在のUVエッジがカットされている情報を取得し、グループに登録します。
Groupノードを確認すると
Unshared Edgeがあります。しかしこれを有効にしてもエッジはグループに登録されません。
ドキュメントをみると
となっています。ポイント自体は接続されているためこのままではOpen UV Edgeをグループに登録できません。
そこで、Open UV Edgeをまずグループにまとめます。
Point Splitを追加
Attribute を有効にしてuvを設定
これでUV情報を元にポイントを切断することができます。
Groupを追加
そうすると下記のようにシームエッジをグループ化することができました。
しかし、ポイントを分割したままでは問題があります。
Group Transferを使用して元のジオメトリデータ(Point Splitしていない)に、今作成したseamsエッジグループを転送します。
その下に、UV Flattenを追加しUVの縫合とカットを行います。
UV Flattenをつないだばかりだと下記のようにUVが新しく変わります。
そこで、Flatting Constraintsに作成したseamsグループを指定します。
Auto UVで展開した場合も同じように自動で作成されたseamsグループを指定します。
既に設定されたseamsエッジでUVが展開されます。
重なっている状態なのでPackボタンを押して一度パックします。
Ctrlキーを押しながら、seamエッジをクリックするとそのエッジをくっつけることができます。
CtrlとAを同時に押してクリックするとループ選択になります。
これで完全にくっつけることができました。
再度Packボタンを押して、整列します。
seamsエッジから、縫い合わせたエッジが削除されるのでFlatting Constrainsの表示が変わります。
次にこの部分にseamを作りたいと思います。
まず何も押さずカットするエッジをクリック。
次にShit + Aを押しながらループでカットしたい反対側のエッジをクリック。
これでエッジをカットすることができます。
エッジをカットしたらパックを押します。
パックすることで分けたUVアイランドを認識することができます。