devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

UnityのGameObjectのPlaneはポリゴン数が多く、GUIのボタンや2Dスプライトとして使うには若干オーバースペックです。
エディタを拡張してメニューからシンプルな平面(三角ポリゴン2枚で構成)を作成できるようにしてみました。

スクリーンショット 2013-07-13 17.46.16

エディタの拡張用のコードはEditorフォルダに格納する必要があります。

スクリーンショット 2013-07-13 17.52.37

CreateSimplePlaneフォルダ下、Editorフォルダに以下のスクリプト(CreateSimplePlane.cs)を作成します。

7行目:追加先メニューを指定します。
10行目:空のゲームオブジェクト(SimplePlane)を作成します。Hierarchyに追加されます。
11行目:MeshFilterコンポーネントをSimplePlaneに追加
12行目:MeshRendererコンポーネントをSimplePlaneに追加
13行目:Assetsから作成済みのメッシュを読み込みます。
14行目:作成済みのメッシュが見当たらなければ作成
16行目:メッシュ作成
17行目:メッシュの名前を設定
18-24行目:頂点情報を作成
25-29行目:三角ポリゴンの構成を指定
30-36行目:頂点に対応するUVを設定
37-40行目:メッシュへ各値を設定し、ポリノーマルを計算させる。
42-43行目:作成したメッシュをAssetsに保存する。
45-46行目:ゲームオブジェクトのメッシュへ設定し、バウンディングボックス更新。

スクリプトに問題がなければ、Unityのメニューに「MyTools – Create Simple Plane」が追加されます。

スクリーンショット 2013-07-13 18.03.40

本スクリプトで複数のオブジェクト(SimplePlane)を作成することができますが、メッシュ(SimplePlane)は1つしか作成しません。それぞれ別のメッシュとしたい場合(UVをそれぞれに設定したい場合など)は、メッシュを複製して割り当て直す必要があります。

参考:

CreatePlane – Unity Community Wiki : http://wiki.unity3d.com/index.php?title=CreatePlane

Pocket

コメントを残す

Trackback URL: