なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Unity だけでメッシュを作ってアセットとして保存したい

危うく今月の学びがなくなるところでした。
ということで、 Blender などを使わずに任意のメッシュを作成して保存する方法。

やり方は簡単で、以下のコードで 1 tris なメッシュが作成・保存されます。

// see: https://www.wikiwand.com/ja/%E6%AD%A3%E4%B8%89%E8%A7%92%E5%BD%A2
var l = 1.0f;
var a = new Vector3((float) (l / Math.Sqrt(3)), 0);
var b = new Vector3((float) (-l / (2 * Math.Sqrt(3))), l / 2);
var c = new Vector3((float) (-l / (2 * Math.Sqrt(3))), -l / 2);
var mesh = new Mesh
{
    vertices = new[] { a, b, c },
    triangles = new[] { 0, 1, 2 }
};
mesh.RecalculateNormals();

AssetDatabase.CreateAsset(mesh, "Assets/Mochizuki/Voxel/Meshes/Triangle.asset");

とても簡単。 今回はあくまで生成するだけなので、 MeshFilter などを設定する必要もなく、
保存した Triangle.asset をそのまま Particle System などに設定できる。

ということでメモでした。