Unityで任意のPlaneを作る
UnityのデフォルトのPlaneはサイズはScaleをいじれば変えられますが、メッシュの細かさを変えることはできません。
メッシュを細かくしたPlaneがほしかったので今回作ってみました。
メッシュの動的生成はこの辺りのサイトを参考に
Unity 動的にメッシュを生成してゴニョゴニョする : 超基本編 - 渋谷ほととぎす通信
Unityのメッシュ生成でへにょりレーザーを作ろう – 前編
Unity 動的にメッシュを作成する ~まずは四角形だ編~ - おねむゲーマーの備忘録
正直これらのサイトの説明でメッシュの作り方は十分な感じがあるのでサクッと
出来上がりとしてはこうなります。(左側はデフォルトのPlane)
やりたかった事の副産物②
— 奈茶*fam (@knasa_21) 2017年10月15日
頂点数が変えられるPlane pic.twitter.com/i9OHW3ghRZ
Plane内の四角の行数、列数と縦横の長さを指定するとそれに合わせたPlaneを生成することが出来ます。(デフォルトはそれぞれ10)
Editor上でパラメータを操作して動かしたかったので
[ExecuteInEditMode]
をスクリプトにつけています。
一応デフォルトのPlaneと同じものになるようにしたのですが、なぜかデフォルトのPlaneは三角形メッシュの順番が最後だけ謎です(なのでそこまでは合わせていない)
何故かデフォルトのPlaneの最後の三角メッシュは49,61,50(中心でもない) pic.twitter.com/6tKyGzgnae
— 奈茶*fam (@knasa_21) 2017年10月15日
もうちょっときれいにまとめられそうですが......動作したコードは以下です。
ちなみに動画内で頂点インデックスを表示してたやつも貼っておきます。こいつは意外と使い道がありそうで便利です。