【Unity】Texture2Dに多角形を描く


Texture2Dをスクリプトで弄って多角形を書いてみた。

Unityというよりは画像処理とか線形数学よりなメモ。

 

まず多角形を書くために頂点の位置を計算する。

半径1の円を考えると、座標 ( Cos(radian) , Sin(radian) ) が頂点になる

n角形の頂点をUnity的に書くと、

となる。

 

次に頂点同士を結ぶ線を引いて、座標がその上にあるかどうかを判別する。

頂点A と 頂点B 上に点C があるかどうか調べるには、

ベクトルACとベクトルBCの内積が -radius^2 ( Cos(PI) * radius * radius ) かどうかを見る。

 

以上をあわせて、結果をQuadに載せてみる。

画面はこんな感じになる。

直線判定の部分で誤差を多めにとったが頂点付近が薄くなる。

なんとなくやってみたけど使い道なさそう。

 


コメントを残す

メールアドレスが公開されることはありません。