Files
Cielonos/Assets/OtherPlugins/GraphicsCat/Modules/Common/Utils/MaterialUtils.cs
SoulliesOfficial d15957c719 更新
2025-12-17 04:19:38 -05:00

30 lines
916 B
C#

using System.Collections.Generic;
using UnityEngine;
namespace GraphicsCat
{
public static class MaterialUtils
{
public static HashSet<Material> FindAllMaterialsInScene(bool includeInactive = false)
{
var materials = new HashSet<Material>();
var findMode = includeInactive ? FindObjectsInactive.Include : FindObjectsInactive.Exclude;
foreach (var renderer in Object.FindObjectsByType<Renderer>(findMode, FindObjectsSortMode.None))
{
if (renderer is not (MeshRenderer or SkinnedMeshRenderer))
continue;
foreach (var material in renderer.sharedMaterials)
{
if (material != null)
{
materials.Add(material);
}
}
}
return materials;
}
}
}