不知道场景里多少面,把脚本放进去运行一下即可,方便优化项目 代码如下

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 获取场景的顶点数跟面数  ******************挂在场景上运行即可******************
/// </summary>
public class CeShiMian : MonoBehaviour
{
    public static int verts;
    public static int tris;
    // Use this for initialization
    void Start()
    {      
        GetAllObjects();
    }
    /// <summary>
    /// 得到场景中所有的GameObject
    /// </summary>
    void GetAllObjects()
    {
        verts = 0;
        tris = 0;
        GameObject[] ob = FindObjectsOfType(typeof(GameObject)) as GameObject[];
        foreach (GameObject obj in ob)
        {
            GetAllVertsAndTris(obj);
        }
    }
    //得到三角面和顶点数
    void GetAllVertsAndTris(GameObject obj)
    {
        Component[] filters;
        filters = obj.GetComponentsInChildren<MeshFilter>();
        foreach (MeshFilter f in filters)
        {
            tris += f.sharedMesh.triangles.Length / 3;
            verts += f.sharedMesh.vertexCount;
        }
    }
    void OnGUI()
    {
        GUIStyle bb = new GUIStyle();
        bb.normal.background = null;    //这是设置背景填充的
        bb.normal.textColor = new Color(1.0f, 0.5f, 0.0f);   //设置字体颜色的
        bb.fontSize = 40;       //当然,这是字体大小
        string vertsdisplay = verts.ToString("#,##0 verts-顶点数");
        GUILayout.Label(vertsdisplay,bb);
        string trisdisplay = tris.ToString("#,##0 tris-面数");
        GUILayout.Label(trisdisplay,bb);
       
    }
   
}

 

版权声明:本文为qq2351194611原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qq2351194611/p/14178786.html