public SkinnedMeshCapturer(usdiExporter exporter, ComponentCapturer parent, SkinnedMeshRenderer target) : base(exporter, parent, target.GetComponent <Transform>(), false) { m_usd = usdi.usdiCreateMesh(ctx, parent.usd, CreateName(target)); m_target = target; m_buffer = new MeshBuffer(); if (m_target.GetComponent <Cloth>() != null) { base.scale = false; } m_captureNormals = exporter.m_captureMeshNormals; m_captureTangents = exporter.m_captureMeshTangents; m_captureUVs = exporter.m_captureMeshUVs; m_captureBones = exporter.m_captureSkinnedMeshAs == SkinnedMeshCaptureMode.BoneAndWeights; m_captureEveryFrame = !m_captureBones; var conf = target.GetComponent <usdiMeshExportConfig>(); if (conf != null) { m_captureNormals = conf.m_captureNormals; m_captureTangents = conf.m_captureTangents; m_captureUVs = conf.m_captureUVs; m_captureEveryFrame = conf.m_captureEveryFrame; m_captureEveryFrameUV = conf.m_captureEveryFrameUV; m_captureEveryFrameIndices = conf.m_captureEveryFrameIndices; } }
public CameraCapturer(usdiExporter exporter, ComponentCapturer parent, Camera target) : base(exporter, parent, target.GetComponent <Transform>(), false) { m_usd = usdi.usdiCreateCamera(ctx, parent.usd, CreateName(target)); m_target = target; //target.GetComponent<usdiCameraExportConfig>(); }
public MeshCapturer(ComponentCapturer parent, MeshRenderer target) : base(parent) { m_obj = target.gameObject; m_abc = AbcAPI.aeNewPolyMesh(parent.abc, target.name); m_target = target; m_mesh_buffer = new MeshBuffer(); }
public TransformCapturer(ComponentCapturer parent, Transform target) : base(parent) { m_obj = target.gameObject; m_abc = AbcAPI.aeNewXForm(parent.abc, target.name + " (" + target.GetInstanceID().ToString("X8") + ")"); m_target = target; m_inherits = inherits; }
public CameraCapturer(ComponentCapturer parent, Camera target) : base(parent) { m_obj = target.gameObject; m_abc = AbcAPI.aeNewCamera(parent.abc, target.name); m_target = target; m_params = target.GetComponent <AlembicCameraParams>(); }
public ParticleCapturer(ComponentCapturer parent, ParticleSystem target) : base(parent) { m_obj = target.gameObject; m_abc = AbcAPI.aeNewPoints(parent.abc, target.name); m_target = target; m_prop_rotatrions = AbcAPI.aeNewProperty(m_abc, "rotation", AbcAPI.aePropertyType.Float4Array); }
public TransformCapturer CreateComponentCapturer(ComponentCapturer parent, Transform target) { if (m_detailedLog) { Debug.Log("AlembicExporter: new TransformCapturer(\"" + target.name + "\""); } var cap = new TransformCapturer(parent, target); m_capturers.Add(cap); return(cap); }
public SkinnedMeshCapturer CreateComponentCapturer(ComponentCapturer parent, SkinnedMeshRenderer target) { if (m_detailedLog) { Debug.Log("AlembicExporter: new SkinnedMeshCapturer(\"" + target.name + "\""); } var cap = new SkinnedMeshCapturer(parent, target); m_capturers.Add(cap); return(cap); }
public ParticleCapturer CreateComponentCapturer(ComponentCapturer parent, ParticleSystem target) { if (m_detailedLog) { Debug.Log("AlembicExporter: new ParticleCapturer(\"" + target.name + "\""); } var cap = new ParticleCapturer(parent, target); m_capturers.Add(cap); return(cap); }
public CustomCapturerHandler CreateComponentCapturer(ComponentCapturer parent, AlembicCustomComponentCapturer target) { if (m_detailedLog) { Debug.Log("AlembicExporter: new CustomCapturerHandler(\"" + target.name + "\""); } target.CreateAbcObject(parent.abc); var cap = new CustomCapturerHandler(parent, target); m_capturers.Add(cap); return(cap); }
public SkinnedMeshCapturer(ComponentCapturer parent, SkinnedMeshRenderer target) : base(parent) { m_obj = target.gameObject; m_abc = AbcAPI.aeNewPolyMesh(parent.abc, target.name); m_target = target; m_mesh_buffer = new MeshBuffer(); if (m_target.GetComponent <Cloth>() != null) { var t = m_parent as TransformCapturer; if (t != null) { t.scale = false; } } }
public ParticleCapturer(usdiExporter exporter, ComponentCapturer parent, ParticleSystem target) : base(exporter, parent, target.GetComponent <Transform>(), false) { m_usd = usdi.usdiCreatePoints(ctx, parent.usd, CreateName(target)); m_target = target; var config = target.GetComponent <usdiParticleExportConfig>(); if (config != null) { m_captureRotations = config.m_captureRotations; } if (m_captureRotations) { m_attr_rotatrions = usdi.usdiPrimCreateAttribute(m_usd, "rotations", usdi.AttributeType.Float4Array); } }
public TransformCapturer(usdiExporter exporter, ComponentCapturer parent, Transform target, bool create_usd_node = true) : base(exporter, parent) { m_target = target; if (create_usd_node) { m_usd = usdi.usdiCreateXform(ctx, parent.usd, CreateName(target)); } if (m_target.gameObject.isStatic) { m_captureEveryFrame = false; } var config = target.GetComponent <usdiTransformExportConfig>(); if (config) { m_captureEveryFrame = config.m_captureEveryFrame; } }
public MeshCapturer(usdiExporter exporter, ComponentCapturer parent, MeshRenderer target) : base(exporter, parent, target.GetComponent <Transform>(), false) { m_usd = usdi.usdiCreateMesh(ctx, parent.usd, CreateName(target)); m_target = target; m_mesh_buffer = new MeshBuffer(); m_captureNormals = exporter.m_captureMeshNormals; m_captureUVs = exporter.m_captureMeshUVs; var conf = target.GetComponent <usdiMeshExportConfig>(); if (conf != null) { m_captureNormals = conf.m_captureNormals; m_captureUVs = conf.m_captureUVs; m_captureEveryFrame = conf.m_captureEveryFrame; m_captureEveryFrameUV = conf.m_captureEveryFrameUV; m_captureEveryFrameIndices = conf.m_captureEveryFrameIndices; } }
void CreateCapturers_Tree() { m_root = new RootCapturer(AbcAPI.aeGetTopObject(m_ctx)); m_capture_node = new Dictionary <Transform, CaptureNode>(); m_top_nodes = new List <CaptureNode>(); // construct tree // (bottom-up) if (m_captureCamera) { foreach (var t in GetTargets <Camera>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_captureMeshRenderer) { foreach (var t in GetTargets <MeshRenderer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_captureSkinnedMeshRenderer) { foreach (var t in GetTargets <SkinnedMeshRenderer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_captureParticleSystem) { foreach (var t in GetTargets <ParticleSystem>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_customCapturer) { foreach (var t in GetTargets <AlembicCustomComponentCapturer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = typeof(AlembicCustomComponentCapturer); } } // make component capturers (top-down) foreach (var c in m_top_nodes) { SetupComponentCapturer(null, c); } m_top_nodes = null; m_capture_node = null; }
void CreateCapturers_Flat() { m_root = new RootCapturer(AbcAPI.aeGetTopObject(m_ctx)); // Camera if (m_captureCamera) { foreach (var target in GetTargets <Camera>()) { if (ShouldBeIgnored(target)) { continue; } var trans = CreateComponentCapturer(m_root, target.GetComponent <Transform>()); trans.inherits = false; trans.invertForward = true; CreateComponentCapturer(trans, target); } } // MeshRenderer if (m_captureMeshRenderer) { foreach (var target in GetTargets <MeshRenderer>()) { if (ShouldBeIgnored(target)) { continue; } var trans = CreateComponentCapturer(m_root, target.GetComponent <Transform>()); trans.inherits = false; CreateComponentCapturer(trans, target); } } // SkinnedMeshRenderer if (m_captureSkinnedMeshRenderer) { foreach (var target in GetTargets <SkinnedMeshRenderer>()) { if (ShouldBeIgnored(target)) { continue; } var trans = CreateComponentCapturer(m_root, target.GetComponent <Transform>()); trans.inherits = false; CreateComponentCapturer(trans, target); } } // ParticleSystem if (m_captureParticleSystem) { foreach (var target in GetTargets <ParticleSystem>()) { if (ShouldBeIgnored(target)) { continue; } var trans = CreateComponentCapturer(m_root, target.GetComponent <Transform>()); trans.inherits = false; CreateComponentCapturer(trans, target); } } // handle custom capturers (AlembicCustomComponentCapturer) if (m_customCapturer) { foreach (var target in GetTargets <AlembicCustomComponentCapturer>()) { if (ShouldBeIgnored(target)) { continue; } var trans = CreateComponentCapturer(m_root, target.GetComponent <Transform>()); trans.inherits = false; CreateComponentCapturer(trans, target); } } }
public abstract void Flush(double t); // called from worker thread protected ComponentCapturer(usdiExporter exporter, ComponentCapturer parent) { m_exporter = exporter; m_parent = parent; }
public CustomCapturerHandler(usdiExporter exporter, ComponentCapturer parent, usdiCustomComponentCapturer target) : base(exporter, parent, target.GetComponent <Transform>(), false) { m_target = target; }
void ConstructCaptureTree() { m_root = new RootCapturer(this, usdi.usdiGetRoot(m_ctx)); m_captureNodes = new Dictionary <Transform, CaptureNode>(); m_rootNodes = new List <CaptureNode>(); var bones = new HashSet <Transform>(); // construct tree // (bottom-up) if (m_captureCamera) { foreach (var t in GetTargets <Camera>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_captureMeshRenderer) { foreach (var t in GetTargets <MeshRenderer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_captureSkinnedMeshRenderer) { foreach (var t in GetTargets <SkinnedMeshRenderer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); // capture bones as well if (m_captureSkinnedMeshAs == SkinnedMeshCaptureMode.BoneAndWeights) { if (t.rootBone != null) { bones.Add(t.rootBone); } if (t.bones != null) { foreach (var bone in t.bones) { bones.Add(bone); } } } } } if (m_captureParticleSystem) { foreach (var t in GetTargets <ParticleSystem>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } } if (m_customCapturer) { foreach (var t in GetTargets <usdiCustomComponentCapturer>()) { if (ShouldBeIgnored(t)) { continue; } var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = typeof(usdiCustomComponentCapturer); } } foreach (var t in bones) { var node = ConstructTree(t.GetComponent <Transform>()); node.componentType = t.GetType(); } // make component capturers (top-down) foreach (var c in m_rootNodes) { SetupComponentCapturer(null, c); } }
protected ComponentCapturer(ComponentCapturer p) { m_parent = p; }
public CustomCapturerHandler(ComponentCapturer parent, AlembicCustomComponentCapturer target) : base(parent) { m_obj = target.gameObject; m_target = target; }