using System.Collections.Generic; using UnityEngine; namespace MagicaCloth2 { [System.Serializable] public class CullingSettings : IDataValidate { /// /// Camera culling mode. /// カメラカリングモード /// public enum CameraCullingMode { /// /// No culling. /// カリングは行わない /// Off = 0, /// /// Simulation resets when hidden from camera. /// カメラから非表示になるとシミュレーションはリセットされる /// Reset = 10, /// /// Simulation pauses when hidden from camera. /// カメラから非表示になるとシミュレーションは一時停止する /// Keep = 20, /// /// Automatically set from linked animator. /// 連動アニメーターから自動設定する /// - Animator.CullingMode.AlwaysAnimate -> Off /// - Animator.CullingMode.CullUpdateTransforms -> Reset /// - Animator.CullingMode.CullCompletely -> Keep /// AnimatorLinkage = 30, } /// /// Camera culling method. /// カリング方式 /// public enum CameraCullingMethod { /// /// Work with an animator. /// アニメーターと連動する /// AutomaticRenderer = 0, /// /// Determine from user-specified renderer. /// ユーザー指定のレンダラーから判定する /// ManualRenderer = 10, } /// /// Camera culling mode. /// カメラカリングモード /// [OK] Runtime changes. /// [NG] Export/Import with Presets /// public CameraCullingMode cameraCullingMode = CameraCullingMode.AnimatorLinkage; /// /// Camera culling judgment method. /// カメラカリング判定方式 /// [OK] Runtime changes. /// [NG] Export/Import with Presets /// public CameraCullingMethod cameraCullingMethod = CameraCullingMethod.AutomaticRenderer; /// /// User-specified camera culling judgment renderer. /// ユーザー指定のカメラカリング判定用レンダラー /// [OK] Runtime changes. /// [NG] Export/Import with Presets /// public List cameraCullingRenderers = new List(); public void DataValidate() { } public CullingSettings Clone() { return new CullingSettings() { cameraCullingMode = cameraCullingMode, cameraCullingMethod = cameraCullingMethod, cameraCullingRenderers = new List(cameraCullingRenderers), }; } /// /// エディタメッシュの更新を判定するためのハッシュコード /// (このハッシュは実行時には利用されない編集用のもの) /// /// public override int GetHashCode() => 0; } }