ノーマルベクターから回転値を生成

浮き輪の動きを面のポイント位置とノーマルベクターからCHOPで自動生成しています。

 

image171005_01

Sin関数で波打つジオメトリ(wave)のネットワークです。ポリゴン面から1ポイントグルーピングしてテンプレートとしています。

image171005_02

Sop to CHOPでグルーピングしたポイントのポイント位置とノーマル情報をCHOP化します。ノーマルベクターはポイントから表面方向へ垂直方向を示す位置を表したデータでポイント位置+ノーマルベクターでワールド上でのポイントから垂直方向を示す座標を計算することが出来ます。

image171025_03

Object CHOPを使用すると2ポイント間の位置や傾きを計算する事ができます。今回はComputeパラメータをBearingに設定して、ポイントとそのポイントのノーマル方向を示すポイントを使ってノーマル方向に向けるための角度を算出しています。
算出した角度とポイント位置を浮き輪のジオメトリ(float)にExportしています。
この方法を応用するとポイント位置だけでなくポリゴン面上にも配置することが出来そうです。

Download Sample