重くなるUnity 32 Meshに適用 「エクステンド!!6」
少し諸事情で更新が遅れました。
今回は、Meshに設定された値を実際に指定したMesh(仮)に適用したいと思います。
Meshには、「Vertices」「UV」「Triangle」の3つが必要です。また、「Name」と「Path」なども必要になります。
よって、必要な処理は
- 入力された値を読み込む
- 値をMeshに適用する。
- 適用されたMeshを保存する
です。
今回は、入力された値を読み込んで、それをMeshに適用したいと思います。
Script:KplaMeshEditor,AppliedMesh
また、中で定義した「ApplyMesh」クラスも載せます。
解説
ほぼ同じですが、少しレイアウトを変えています。
GUI.skinで、決められたSkinのレイアウトに出来ます。これはユーザーで変えられます。その中の、boxを使いました。
また、BeginScrollView(Vector2) ~ EndScrollView()の中では、スクロールが出来ます。引数のVectorは、いじると(決めた場所で)動かなくなります。
そして、ユーザーのVertices,UV,Trianglesを取得して、ArrayListに入れて、配列にしてApplyすることにしています。実は、そのままだとエラーが起きます。
それは後にして、AppliedMeshではメソッドを定義しています。実は、同じメソッド名でも引数を変えて違うことをすることが出来ます。また、一番細かいメソッドを作っておいて、それを元に簡略化したメソッドを作ることも出来ます。(今回やりました)
Pathはまだ出来ません。なので、保存は出来ませんね。
実行
実行すると、GUIはこんなかんじになります。
ただ、VertボタンやUVボタンを押すと、エラーが発生します。(Trianglesは無い)
このエラーを直していこうと思います。(ちなみに例外処理もします)