UniVRM/Assets/UniGLTF/Runtime/MeshUtility/MeshIntegrationGroup.cs
ousttrue f8f27d0619 prefab と runtime で整合性。
- prefab 時は instance 化する。統合グループをの内容をインスタンス後のもので置き換える
- 未使用削除
2023-11-29 20:02:46 +09:00

32 lines
1010 B
C#

using System.Collections.Generic;
using UnityEngine;
namespace UniGLTF.MeshUtility
{
public class MeshIntegrationGroup
{
public string Name;
public List<Renderer> Renderers = new List<Renderer>();
public MeshIntegrationGroup CopyInstantiate(GameObject go, GameObject instance)
{
var copy = new MeshIntegrationGroup
{
Name = Name
};
foreach (var r in Renderers)
{
var relative = r.transform.RelativePathFrom(go.transform);
if (r is SkinnedMeshRenderer smr)
{
copy.Renderers.Add(instance.transform.GetFromPath(relative).GetComponent<SkinnedMeshRenderer>());
}
else if (r is MeshRenderer mr)
{
copy.Renderers.Add(instance.transform.GetFromPath(relative).GetComponent<MeshRenderer>());
}
}
return copy;
}
}
}