예제 #1
0
        // No config overrides on AlembicXForm

        public override void AbcSampleUpdated(AbcAPI.aiSample sample, bool topologyChanged)
        {
            AbcAPI.aiXFormGetData(sample, ref m_abcData);

            AbcDirty();
        }
예제 #2
0
        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;
        }
예제 #3
0
 public void OnApplicationQuit()
 {
     AbcAPI.aiCleanup();
 }