public override void Capture() { if (m_target == null) { return; } if (m_cloth != null) { m_cbuf.Capture(m_meshSrc, m_cloth, m_mbuf, m_exporter); m_mbuf.WriteSample(m_abc); } else { if (m_meshBake == null) { m_meshBake = new Mesh(); } m_meshBake.Clear(); m_target.BakeMesh(m_meshBake); m_mbuf.Capture(m_meshBake, m_exporter); m_mbuf.WriteSample(m_abc); } }
public override void Capture() { if (m_target == null) { m_mbuf.visibility = false; } else { m_mbuf.visibility = m_target.gameObject.activeSelf; if (m_cloth != null) { m_cbuf.Capture(m_meshSrc, m_cloth, m_mbuf, recorder.m_settings); } else { if (m_meshBake == null) { m_meshBake = new Mesh { name = m_target.name }; } m_meshBake.Clear(); m_target.BakeMesh(m_meshBake); m_mbuf.Capture(m_meshBake, recorder.m_settings); } } m_mbuf.WriteSample(abcObject); }
public override void Capture() { if (m_stopped) { return; } if (m_target == null) { m_stopped = true; m_mbuf.visibility = false; } else { m_mbuf.visibility = m_target.gameObject.activeSelf; if (m_cloth != null) { m_cbuf.Capture(m_meshSrc, m_cloth, m_mbuf, m_recorder.m_settings); } else { if (m_meshBake == null) { m_meshBake = new Mesh(); } m_meshBake.Clear(); m_target.BakeMesh(m_meshBake); m_mbuf.Capture(m_meshBake, m_recorder.m_settings); } } m_mbuf.WriteSample(m_abc); }
public override void Capture() { if (m_target == null) { m_mbuf.visibility = false; } else { m_mbuf.visibility = m_target.gameObject.activeSelf; var mesh = m_target.GetComponent <MeshFilter>().sharedMesh; if (!recorder.m_settings.AssumeNonSkinnedMeshesAreConstant || m_mbuf.points.Capacity == 0) { m_mbuf.Capture(mesh, recorder.m_settings); } } m_mbuf.WriteSample(abcObject); }
public override void Capture() { if (m_target == null) { return; } var mesh = m_target.GetComponent <MeshFilter>().sharedMesh; if (mesh == null || (m_exporter.m_assumeNonSkinnedMeshesAreConstant && m_mbuf.points.Capacity != 0)) { return; } m_mbuf.Capture(mesh, m_exporter); m_mbuf.WriteSample(abc); }
public override void Capture() { if (m_target == null) { m_mbuf.visibility = false; } else { m_mbuf.visibility = m_target.gameObject.activeSelf; if (m_cloth != null) { m_cbuf.Capture(m_meshSrc, m_cloth, m_mbuf, recorder.m_settings); } else { if (m_meshBake == null) { m_meshBake = new Mesh { name = m_target.name }; } m_meshBake.Clear(); #if UNITY_2020_2_OR_NEWER m_target.BakeMesh(m_meshBake, true); m_mbuf.Capture(m_meshBake, Matrix4x4.identity, recorder.m_settings); #else m_target.BakeMesh(m_meshBake); var withScale = m_target.transform.worldToLocalMatrix; var noScale = m_target.transform.WorldNoScale(); // The Skinned mesh baker disregards the world scale. // This matrix transform inverts the wrong Unity transforms are reapplies the full world scale. m_mbuf.Capture(m_meshBake, withScale * noScale.inverse, recorder.m_settings); #endif } } m_mbuf.WriteSample(abcObject); }