UniVRM/Assets/UniGLTF/Runtime/MeshUtility/MeshExclude.cs
ousttrue 42a3014e7a UniGLTFLogger を追加
[System.Diagnostics.Conditional("VRM_DEVELOP")] により呼び出しが消滅する。
2024-07-16 15:48:50 +09:00

59 lines
1.4 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace UniGLTF.MeshUtility
{
public class MeshExclude
{
List<Mesh> _excludes = new List<Mesh>();
public MeshExclude(IEnumerable<Mesh> excludes)
{
if (excludes != null)
{
_excludes.AddRange(excludes);
}
}
public bool IsExcluded(SkinnedMeshRenderer smr)
{
if (smr == null)
{
return true;
}
if (smr.sharedMesh == null)
{
return true;
}
if (_excludes.Contains(smr.sharedMesh))
{
UniGLTFLogger.Log($"{smr} has excluded");
return true;
}
return false;
}
public bool IsExcluded(MeshRenderer mr)
{
if (mr == null)
{
return true;
}
var filter = mr.GetComponent<MeshFilter>();
if (filter == null)
{
return true;
}
if (filter.sharedMesh == null)
{
return true;
}
if (_excludes.Contains(filter.sharedMesh))
{
UniGLTFLogger.Log($"{mr} has excluded");
return true;
}
return false;
}
}
}