Unityで動的にMeshの頂点数を増やしたらメッシュが縮小されてしまった件
前提
UnityのScriptで動的にMeshを生成し、SetVerticesとSetTrianglesを使用して頂点数を変更する処理を作成した。試しに縦横500ずつ頂点を作成すると、Meshの大きさが突然小さくなるという現象が発生した。頂点数をある程度減らすと解決した。
対応
デフォルトでUnityのMeshの頂点数が65535となっているため、それを超えた頂点は描画されないようである。今回のケースだと500×500で250000個の頂点が発生するので、この上限に引っかかってしまっている。
そのため、以下の処理を入れて、Meshの上限数を増やして描画をしたら解決した。
Mesh mesh = new Mesh();
mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32;
以下の記事に助けていただいた。感謝申し上げる。