diff --git a/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs b/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs index 4bd4ff060..9f0ba8865 100644 --- a/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs +++ b/Assets/VRM/Runtime/FirstPerson/VRMFirstPerson.cs @@ -57,7 +57,22 @@ namespace VRM var dst = _dst.AddComponent(); dst.FirstPersonBone = map[FirstPersonBone]; dst.FirstPersonOffset = FirstPersonOffset; - dst.Renderers = Renderers.Select(x => + dst.Renderers = Renderers + .Where(x => + { + if (x.Renderer == null || x.Renderer.transform == null) + { + Debug.LogWarning("[VRMFirstPerson] Renderer is null", this); + return false; + } + if (!map.ContainsKey(x.Renderer.transform)) + { + Debug.LogWarning("[VRMFirstPerson] Cannot copy. Not found ?", this); + return false; + } + return true; + }) + .Select(x => { var mapped = map[x.Renderer.transform]; var renderer = mapped.GetComponent();