public static void CaptureTransform(aeAPI.aeObject abc, Transform trans, bool inherits, bool invertForward) { aeAPI.aeXFormSampleData data; data.inherits = inherits; if (invertForward) { trans.forward = trans.forward * -1.0f; } if (inherits) { data.translation = trans.localPosition; data.scale = trans.localScale; trans.localRotation.ToAngleAxis(out data.rotationAngle, out data.rotationAxis); } else { data.translation = trans.position; data.scale = trans.lossyScale; trans.rotation.ToAngleAxis(out data.rotationAngle, out data.rotationAxis); } if (invertForward) { trans.forward = trans.forward * -1.0f; } aeAPI.aeXFormWriteSample(abc, ref data); }
public SkinnedMeshCapturer(SkinnedMeshRenderer target, aeAPI.aeObject abc) { m_obj = target.gameObject; m_abc = abc; m_target = target; m_mesh_buffer = new MeshBuffer(); }
public CameraCapturer(Camera target, aeAPI.aeObject abc) { m_obj = target.gameObject; m_abc = abc; m_target = target; m_params = target.GetComponent <AlembicCameraParams>(); }
public TransformCapturer(Transform target, aeAPI.aeObject abc) { m_obj = target.gameObject; m_abc = abc; m_target = target; m_inherits = inherits; }
public ParticleCapturer(ParticleSystem target, aeAPI.aeObject abc) { m_obj = target.gameObject; m_abc = abc; m_target = target; m_prop_rotatrions = aeAPI.aeNewProperty(m_abc, "rotation", aeAPI.aePropertyType.Float4Array); }
public ParticleCapturer CreateComponentCapturer(ParticleSystem target, aeAPI.aeObject parent) { if (m_detailedLog) { Debug.Log("AlembicExporter: new ParticleCapturer(\"" + target.name + "\""); } var abc = aeAPI.aeNewPoints(parent, target.name); var cap = new ParticleCapturer(target, abc); m_capturers.Add(cap); return(cap); }
public SkinnedMeshCapturer CreateComponentCapturer(SkinnedMeshRenderer target, aeAPI.aeObject parent) { if (m_detailedLog) { Debug.Log("AlembicExporter: new SkinnedMeshCapturer(\"" + target.name + "\""); } var abc = aeAPI.aeNewPolyMesh(parent, target.name); var cap = new SkinnedMeshCapturer(target, abc); m_capturers.Add(cap); return(cap); }
public CameraCapturer CreateComponentCapturer(Camera target, aeAPI.aeObject parent) { if (m_detailedLog) { Debug.Log("AlembicExporter: new CameraCapturer(\"" + target.name + "\""); } var abc = aeAPI.aeNewCamera(parent, target.name); var cap = new CameraCapturer(target, abc); m_capturers.Add(cap); return(cap); }
public TransformCapturer CreateComponentCapturer(Transform target, aeAPI.aeObject parent) { if (m_detailedLog) { Debug.Log("AlembicExporter: new TransformCapturer(\"" + target.name + "\""); } var abc = aeAPI.aeNewXForm(parent, target.name + " (" + target.GetInstanceID().ToString("X8") + ")"); var cap = new TransformCapturer(target, abc); m_capturers.Add(cap); return(cap); }
public static void CaptureCamera(aeAPI.aeObject abc, Camera cam, AlembicCameraParams cparams = null) { var data = aeAPI.aeCameraSampleData.default_value; data.nearClippingPlane = cam.nearClipPlane; data.farClippingPlane = cam.farClipPlane; data.fieldOfView = cam.fieldOfView; if (cparams != null) { data.focalLength = cparams.m_focalLength; data.focusDistance = cparams.m_focusDistance; data.aperture = cparams.m_aperture; data.aspectRatio = cparams.GetAspectRatio(); } aeAPI.aeCameraWriteSample(abc, ref data); }
public static void CaptureMesh(aeAPI.aeObject abc, Mesh mesh, MeshBuffer buf) { buf.indices = mesh.triangles; buf.vertices = mesh.vertices; buf.normals = mesh.normals; buf.uvs = mesh.uv; var data = new aeAPI.aePolyMeshSampleData(); data.indices = GetArrayPtr(buf.indices); data.positions = GetArrayPtr(buf.vertices); if (buf.normals != null) { data.normals = GetArrayPtr(buf.normals); } if (buf.uvs != null) { data.uvs = GetArrayPtr(buf.uvs); } data.vertexCount = buf.vertices.Length; data.indexCount = buf.indices.Length; aeAPI.aePolyMeshWriteSample(abc, ref data); }
void SetupComponentCapturer(CaptureNode node, aeAPI.aeObject parent) { node.transform = CreateComponentCapturer(node.obj, parent); node.transform.inherits = true; if (node.componentType == null) { // do nothing } else if (node.componentType == typeof(Camera)) { node.transform.invertForward = true; node.component = CreateComponentCapturer(node.obj.GetComponent <Camera>(), node.transform.abc); } else if (node.componentType == typeof(MeshRenderer)) { node.component = CreateComponentCapturer(node.obj.GetComponent <MeshRenderer>(), node.transform.abc); } else if (node.componentType == typeof(SkinnedMeshRenderer)) { node.component = CreateComponentCapturer(node.obj.GetComponent <SkinnedMeshRenderer>(), node.transform.abc); } else if (node.componentType == typeof(ParticleSystem)) { node.component = CreateComponentCapturer(node.obj.GetComponent <ParticleSystem>(), node.transform.abc); } else if (node.componentType == typeof(AlembicCustomComponentCapturer)) { node.component = CreateComponentCapturer(node.obj.GetComponent <AlembicCustomComponentCapturer>(), node.transform.abc); } foreach (var c in node.children) { SetupComponentCapturer(c, node.transform.abc); } }
public abstract void CreateAbcObject(aeAPI.aeObject parent);
public override void CreateAbcObject(aeAPI.aeObject parent) { m_abc = aeAPI.aeNewPoints(parent, gameObject.name); }
public CustomCapturerHandler CreateComponentCapturer(AlembicCustomComponentCapturer target, aeAPI.aeObject parent) { if (m_detailedLog) { Debug.Log("AlembicExporter: new CustomCapturerHandler(\"" + target.name + "\""); } target.CreateAbcObject(parent); var cap = new CustomCapturerHandler(target); m_capturers.Add(cap); return(cap); }