Firstborn/Assets/InfinityPBR/Editor/SFB_DisplayPolycount.cs
Schaken-Mods b8ab71969a Finished lockpicking, tied it to the Skills system
Finished lockpicking. tied it to the Attributes system. when you pick a lock you gain dexterity, the higher your dexterity, the easier it is to pick locks.
2023-05-05 22:02:18 -05:00

39 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
public class SFB_DisplayPolycount : MonoBehaviour {
[MenuItem("Window/Infinity PBR/Polycount %#p")]
static void ShowPolycount(){
int totalTriCount = 0;
int totalVertCount = 0;
// Get count of parnet object if applicable
if (Selection.activeGameObject.GetComponent<MeshFilter>()){
Mesh parentMesh = Selection.activeGameObject.GetComponent<MeshFilter>().sharedMesh;
int parentTri = parentMesh.triangles.Length / 3;
totalTriCount += parentTri;
totalVertCount += parentMesh.vertices.Length;
}
//Get count of all children of object
Transform[] allChildren = Selection.activeGameObject.GetComponentsInChildren<Transform>();
foreach(Transform child in allChildren)
{
if (child.gameObject.GetComponent<MeshFilter>()){
Mesh objMesh = child.gameObject.GetComponent<MeshFilter>().sharedMesh;
int triCount = objMesh.triangles.Length / 3;
totalTriCount += triCount;
totalVertCount += objMesh.vertices.Length;
} else if (child.gameObject.GetComponent<SkinnedMeshRenderer>()){
Mesh objMesh2 = child.gameObject.GetComponent<SkinnedMeshRenderer>().sharedMesh;
int triCount2 = objMesh2.triangles.Length / 3;
totalTriCount += triCount2;
totalVertCount += objMesh2.vertices.Length;
}
}
Debug.Log("There are " + totalTriCount + " triangles in the selection.");
Debug.Log("There are " + totalVertCount + " vertices in the selection.");
}
}