using UnityEngine.Formats.Alembic.Sdk; namespace UnityEngine.Formats.Alembic.Importer { /// /// This class contains stream reading options for Alembic file import. /// [System.Serializable] public class AlembicStreamSettings { [SerializeField] NormalsMode normals = NormalsMode.CalculateIfMissing; /// /// Get or set the Normals computation mode on import. /// public NormalsMode Normals { get { return normals; } set { normals = value; } } [SerializeField] TangentsMode tangents = TangentsMode.Calculate; /// /// Get or set the Tangents computation mode on import. /// public TangentsMode Tangents { get { return tangents; } set { tangents = value; } } [SerializeField] AspectRatioMode cameraAspectRatio = AspectRatioMode.CameraAperture; /// /// Get or set the Camera aspect ratio on import. /// internal AspectRatioMode CameraAspectRatio // Broken/Unimplemented , not connected to any code path. { get { return cameraAspectRatio; } set { cameraAspectRatio = value; } } [SerializeField] bool importVisibility = true; /// /// Enables or disables the control of the active state of objects. /// public bool ImportVisibility { get { return importVisibility; } set { importVisibility = value; } } [SerializeField] float scaleFactor = 0.01f; /// /// The world scale factor to convert between the Alembic file and Unity. /// public float ScaleFactor { get { return scaleFactor; } set { scaleFactor = value; } } [SerializeField] bool swapHandedness = true; /// /// Enable to switch the X-axis direction between Left and Right handed coordinate systems. /// public bool SwapHandedness { get { return swapHandedness; } set { swapHandedness = value; } } [SerializeField] bool flipFaces = false; /// /// Enable to invert the orientation of the polygons. /// public bool FlipFaces { get { return flipFaces; } set { flipFaces = value; } } [SerializeField] bool interpolateSamples = true; /// /// Enable to linearly interpolate between Alembic samples for which the topology does not change. /// public bool InterpolateSamples { get { return interpolateSamples; } set { interpolateSamples = value; } } [SerializeField] bool importPointPolygon = true; internal bool ImportPointPolygon // Broken/Unimplemented , not connected to any code path. { get { return importPointPolygon; } set { importPointPolygon = value; } } [SerializeField] bool importLinePolygon = true; internal bool ImportLinePolygon // Broken/Unimplemented , not connected to any code path. { get { return importLinePolygon; } set { importLinePolygon = value; } } [SerializeField] bool importTrianglePolygon = true; internal bool ImportTrianglePolygon // Broken/Unimplemented , not connected to any code path. { get { return importTrianglePolygon; } set { importTrianglePolygon = value; } } [SerializeField] bool importXform = true; /// /// Enable or disable the import of Transform (Xform) data. /// public bool ImportXform { get { return importXform; } set { importXform = value; } } [SerializeField] bool importCameras = true; /// /// Enable or disable the import of Camera data. /// public bool ImportCameras { get { return importCameras; } set { importCameras = value; } } [SerializeField] bool importMeshes = true; /// /// Enable or disable the import of Mesh data. /// public bool ImportMeshes { get { return importMeshes; } set { importMeshes = value; } } [SerializeField] bool importPoints = false; /// /// Enable or disable the import of Point (particle cloud) data. /// public bool ImportPoints { get { return importPoints; } set { importPoints = value; } } [SerializeField] bool importCurves = true; /// /// Enable or disable the import of Curve data. /// public bool ImportCurves { get { return importCurves; } set { importCurves = value; } } [SerializeField] bool createCurveRenderers; /// /// If you enabled the importing of Alembic curves, this method automatically creates the AlembicCurveRendering component. /// public bool CreateCurveRenderers { get => createCurveRenderers; set => createCurveRenderers = value; } internal class AlembicStreamSettingsCopier : ScriptableObject { public AlembicStreamSettings abcSettings; } } }