diff --git a/src/LitMotion/.vsconfig b/src/LitMotion/.vsconfig new file mode 100644 index 00000000..f019fd0a --- /dev/null +++ b/src/LitMotion/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/src/LitMotion/Assets/LitMotion.Animation/Editor/LitMotionAnimationEditor.cs b/src/LitMotion/Assets/LitMotion.Animation/Editor/LitMotionAnimationEditor.cs index e785fde2..2418307b 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Editor/LitMotionAnimationEditor.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Editor/LitMotionAnimationEditor.cs @@ -3,6 +3,7 @@ using UnityEditor.UIElements; using System.Collections.Generic; using UnityEngine; +using UnityEditor.SceneManagement; namespace LitMotion.Animation.Editor { @@ -44,6 +45,12 @@ public override VisualElement CreateInspectorGUI() void OnEnable() { EditorApplication.playModeStateChanged += OnPlayModeStateChanged; + + if (PrefabStageUtility.GetCurrentPrefabStage() != null) + { + PrefabStage.prefabStageClosing -= OnPrefabStageClosing; + PrefabStage.prefabStageClosing += OnPrefabStageClosing; + } } void OnDisable() @@ -95,6 +102,8 @@ VisualElement CreateSettingsPanel() var box = CreateBox("Settings"); box.Add(new PropertyField(serializedObject.FindProperty("autoPlayMode"))); box.Add(new PropertyField(serializedObject.FindProperty("animationMode"))); + box.Add(new PropertyField(serializedObject.FindProperty("isPlayForward"))); + box.Add(new PropertyField(serializedObject.FindProperty("manualLoop"))); return box; } @@ -128,7 +137,11 @@ VisualElement CreateComponentsPanel() alignSelf = Align.Center } }; - addButton.clicked += () => dropdown.Show(addButton.worldBound); + addButton.clicked += () => + { + GUI.skin = EditorGUIUtility.GetBuiltinSkin(EditorSkin.Scene); + dropdown.Show(addButton.worldBound); + }; box.Add(addButton); box.schedule.Execute(() => @@ -145,6 +158,24 @@ VisualElement CreateComponentsPanel() { if (componentsProperty.arraySize != prevArraySize) { + if (prevArraySize < componentsProperty.arraySize) + { + var seen = new HashSet(); + bool dirty = false; + for (int i = 0; i < componentsProperty.arraySize; ++i) + { + var element = componentsProperty.GetArrayElementAtIndex(i); + var value = element.managedReferenceValue; + if (value != null && !seen.Add(value)) + { + var cloned = JsonUtility.FromJson(JsonUtility.ToJson(value), value.GetType()); + element.managedReferenceValue = cloned; + dirty = true; + } + } + if (dirty) + serializedObject.ApplyModifiedProperties(); + } RefleshComponentsView(true); prevArraySize = componentsProperty.arraySize; } @@ -192,16 +223,23 @@ VisualElement CreateDebugPanel() flexGrow = 1f, } }; - var playButton = new Button(() => ((LitMotionAnimation)target).Play()) + var playButton = new Button(() => ((LitMotionAnimation)target).PlayForward()) { text = "Play", style = { flexGrow = 1f, } }; - var restartButton = new Button(() => ((LitMotionAnimation)target).Restart()) + var playReverse = new Button(() => ((LitMotionAnimation)target).PlayBackward()) { - text = "Restart", + text = "Reverse", + style = { + flexGrow = 1f, + } + }; + var restartButton = new Button(() => ((LitMotionAnimation)target).Resume()) + { + text = "Resume", style = { flexGrow = 1f, } @@ -222,6 +260,7 @@ VisualElement CreateDebugPanel() }; buttonGroup.Add(playButton); + buttonGroup.Add(playReverse); buttonGroup.Add(restartButton); buttonGroup.Add(stopButton); buttonGroup.Add(resetButton); @@ -345,5 +384,14 @@ bool IsActive() { return !((LitMotionAnimation)target).IsActive; } + + void OnPrefabStageClosing(PrefabStage stage) + { + PrefabStage.prefabStageClosing -= OnPrefabStageClosing; + foreach (var i in stage.prefabContentsRoot.GetComponentsInChildren(true)) + { + i.Stop(); + } + } } } \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ControlComponents.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ControlComponents.cs index 8a799e2e..a186815e 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ControlComponents.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ControlComponents.cs @@ -16,6 +16,11 @@ public override MotionHandle Play() .RunWithoutBinding(); } + public override MotionHandle PlayBackward() + { + return Play(); + } + public override void OnStop() { } } @@ -33,6 +38,11 @@ public override MotionHandle Play() return LMotion.Create(0f, 1f, 0f).RunWithoutBinding(); } + public override MotionHandle PlayBackward() + { + return Play(); + } + public override void OnStop() { onStop.Invoke(); @@ -56,6 +66,11 @@ public override MotionHandle Play() }); } + public override MotionHandle PlayBackward() + { + return Play(); + } + public override void OnResume() { target.Play(); diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/TextMeshProComponents.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/TextMeshProComponents.cs index 9da1e06d..484d848a 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/TextMeshProComponents.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/TextMeshProComponents.cs @@ -82,6 +82,17 @@ protected override void SetValue(TMP_Text target, in float value) target.color = c; } } + [Serializable] + [LitMotionAnimationComponentMenu("UI/TextMesh Pro/Color (For Sprite)")] + public sealed class TMPTextColorCanvasRendererAnimation : ColorPropertyAnimationComponent + { + protected override Color GetValue(TextMeshProUGUI target) => target.canvasRenderer.GetColor(); + protected override void SetValue(TextMeshProUGUI target, in Color value) + { + target.havePropertiesChanged = true; + target.canvasRenderer.SetColor(value); + } + } } #endif \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ValueComponents.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ValueComponents.cs index b90789dd..bcf7663f 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ValueComponents.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/Components/ValueComponents.cs @@ -23,6 +23,15 @@ public override MotionHandle Play() }); } + public override MotionHandle PlayBackward() + { + return LMotion.Create(settings, true) + .Bind(this, (x, state) => + { + state.onValueChanged.Invoke(x); + }); + } + public override void OnStop() { } } @@ -75,6 +84,11 @@ public override MotionHandle Play() }); } + public override MotionHandle PlayBackward() + { + return Play(); + } + public override void OnStop() { } } } \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimation.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimation.cs index e83bab8d..57aa5700 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimation.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimation.cs @@ -1,12 +1,12 @@ using System; +using System.Collections; using System.Collections.Generic; -using LitMotion.Collections; using UnityEngine; namespace LitMotion.Animation { [AddComponentMenu("LitMotion Animation")] - public sealed class LitMotionAnimation : MonoBehaviour, ISerializationCallbackReceiver + public sealed class LitMotionAnimation : MonoBehaviour { enum AutoPlayMode { @@ -23,19 +23,19 @@ enum AnimationMode [SerializeField] AutoPlayMode autoPlayMode = AutoPlayMode.OnStart; [SerializeField] AnimationMode animationMode; + public bool isPlayForward = true; + public bool manualLoop; [SerializeReference] LitMotionAnimationComponent[] components; - readonly Queue queue = new(); - FastListCore playingComponents; - - [HideInInspector, SerializeField] bool playOnAwake = true; - [HideInInspector, SerializeField] int version; + private List playingComponents = new(); public IReadOnlyList Components => components; - void OnEnable() + private int playIndex = 0; + + private void OnEnable() { if (autoPlayMode == AutoPlayMode.OnEnable) Play(); @@ -45,55 +45,63 @@ void Start() { if (autoPlayMode == AutoPlayMode.OnStart) Play(); + + if(manualLoop) + StartCoroutine(ManualLoopCr()); } - void MoveNextMotion() + IEnumerator ManualLoopCr() { - if (queue.TryDequeue(out var queuedComponent)) + yield return null; + + while (manualLoop) { - try + if (!IsPlaying) { - var handle = queuedComponent.Play(); - var isActive = handle.IsActive(); + Play(); + } + yield return null; + } + } - if (isActive) + private void OnNextSequence() + { +//#if UNITY_EDITOR +// Debug.Log($"OnCompleteAction called. playIndex: {playIndex} IsPlayForward {isPlayForward}"); +//#endif + switch (animationMode) + { + case AnimationMode.Sequential: + try { - handle.Preserve(); - MotionManager.GetManagedDataRef(handle, false).OnCompleteAction += MoveNextMotion; - } + playIndex += isPlayForward ? 1 : -1; - queuedComponent.TrackedHandle = handle; - playingComponents.Add(queuedComponent); + if (playIndex < playingComponents.Count && playIndex >= 0) + { + var component = playingComponents[playIndex]; + var handle = isPlayForward ? component.Play() : component.PlayBackward(); + component.TrackedHandle = handle; - if (!isActive) + if (handle.IsActive()) + { + //handle.Preserve(); + MotionManager.GetManagedDataRef(handle, false).OnCompleteAction += OnNextSequence; + } + } + } + catch (Exception ex) { - MoveNextMotion(); + Debug.LogException(ex); } - } - catch (Exception ex) - { - Debug.LogException(ex); - } + break; } } + public void Play() { - var isPlaying = false; - - foreach (var component in playingComponents.AsSpan()) - { - var handle = component.TrackedHandle; - if (handle.IsActive()) - { - handle.PlaybackSpeed = 1f; - isPlaying = true; - - component.OnResume(); - } - } - - if (isPlaying) return; + if (Resume()) + return; playingComponents.Clear(); @@ -104,41 +112,78 @@ public void Play() { if (component == null) continue; if (!component.Enabled) continue; - queue.Enqueue(component); + playingComponents.Add(component); } - MoveNextMotion(); + playIndex = isPlayForward ? -1 : playingComponents.Count; + OnNextSequence(); break; + case AnimationMode.Parallel: - foreach (var component in components) + try { - if (component == null) continue; - if (!component.Enabled) continue; - - try + foreach (var component in components) { - var handle = component.Play(); + if (component == null) continue; + if (!component.Enabled) continue; + + var handle = isPlayForward ? component.Play() : component.PlayBackward(); component.TrackedHandle = handle; - if (handle.IsActive()) - { - handle.Preserve(); - } + //if (handle.IsActive()) + //{ + // handle.Preserve(); + //} playingComponents.Add(component); } - catch (Exception ex) - { - Debug.LogException(ex); - } + } + catch (Exception ex) + { + Debug.LogException(ex); } break; } + +//#if UNITY_EDITOR +// Debug.Log($"Play called. Playing components count: {playingComponents.Count}"); +//#endif + } + + public void PlayForward() + { + isPlayForward = true; + Restart(); + } + + public void PlayBackward() + { + isPlayForward = false; + Restart(); + } + + public bool Resume() + { + var isPlaying = false; + + foreach (var component in playingComponents) + { + var handle = component.TrackedHandle; + if (handle.IsActive()) + { + handle.PlaybackSpeed = 1f; + isPlaying = true; + + component.OnResume(); + } + } + + return isPlaying; } public void Pause() { - foreach (var component in playingComponents.AsSpan()) + foreach (var component in playingComponents) { var handle = component.TrackedHandle; if (handle.IsActive()) @@ -151,9 +196,7 @@ public void Pause() public void Stop() { - var span = playingComponents.AsSpan(); - span.Reverse(); - foreach (var component in span) + foreach (var component in playingComponents) { var handle = component.TrackedHandle; handle.TryCancel(); @@ -162,22 +205,49 @@ public void Stop() } playingComponents.Clear(); - queue.Clear(); } - public void Restart() + public async void Restart() { Stop(); + + while (IsActive) + await Awaitable.NextFrameAsync(); + Play(); } + public float GetDuration() + { + float totalDuration = 0f; + switch(animationMode) + { + case AnimationMode.Sequential: + foreach (var component in playingComponents) + { + var handle = component.TrackedHandle; + totalDuration += (float)handle.TotalDuration; + } + break; + + case AnimationMode.Parallel: + foreach (var component in playingComponents) + { + var handle = component.TrackedHandle; + var duration = (float)handle.TotalDuration; + if (duration > totalDuration) + totalDuration = duration; + } + break; + } + return totalDuration; + } + public bool IsActive { get { - if (queue.Count > 0) return true; - - foreach (var component in playingComponents.AsSpan()) + foreach (var component in playingComponents) { var handle = component.TrackedHandle; if (handle.IsActive()) return true; @@ -191,19 +261,27 @@ public bool IsPlaying { get { - if (queue.Count > 0) return true; - - foreach (var component in playingComponents.AsSpan()) + switch (animationMode) { - var handle = component.TrackedHandle; - if (handle.IsPlaying()) return true; + case AnimationMode.Sequential: + if (playIndex >= 0 && playIndex < playingComponents.Count) + return true; + break; + + case AnimationMode.Parallel: + foreach (var component in playingComponents) + { + var handle = component.TrackedHandle; + if (handle.IsPlaying()) return true; + } + break; } return false; } } - void OnDisable() + private void OnDisable() { if (autoPlayMode == AutoPlayMode.OnEnable) Stop(); @@ -213,16 +291,5 @@ void OnDestroy() { Stop(); } - - void ISerializationCallbackReceiver.OnBeforeSerialize() { } - - void ISerializationCallbackReceiver.OnAfterDeserialize() - { - if (version < 1) - { - autoPlayMode = playOnAwake ? AutoPlayMode.OnStart : AutoPlayMode.None; - version = 1; - } - } } } \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimationComponent.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimationComponent.cs index 482e7e68..616b5c49 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimationComponent.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/LitMotionAnimationComponent.cs @@ -26,6 +26,7 @@ public LitMotionAnimationComponent() public string DisplayName => displayName; public abstract MotionHandle Play(); + public abstract MotionHandle PlayBackward(); public virtual void OnResume() { } public virtual void OnPause() { } diff --git a/src/LitMotion/Assets/LitMotion.Animation/Runtime/PropertyAnimationComponent.cs b/src/LitMotion/Assets/LitMotion.Animation/Runtime/PropertyAnimationComponent.cs index 8ef4cb83..37caca33 100644 --- a/src/LitMotion/Assets/LitMotion.Animation/Runtime/PropertyAnimationComponent.cs +++ b/src/LitMotion/Assets/LitMotion.Animation/Runtime/PropertyAnimationComponent.cs @@ -49,6 +49,32 @@ public override MotionHandle Play() return handle; } + public override MotionHandle PlayBackward() + { + startValue = GetValue(target); + + MotionHandle handle; + + if (relative) + { + handle = LMotion.Create(settings, true) + .Bind(this, (x, state) => + { + state.SetValue(target, state.GetRelativeValue(state.startValue, x)); + }); + } + else + { + handle = LMotion.Create(settings, true) + .Bind(this, (x, state) => + { + state.SetValue(target, x); + }); + } + + return handle; + } + protected abstract TValue GetValue(TObject target); protected abstract void SetValue(TObject target, in TValue value); protected abstract TValue GetRelativeValue(in TValue startValue, in TValue relativeValue); diff --git a/src/LitMotion/Assets/LitMotion/Editor/SerializableMotionSettingsDrawer.cs b/src/LitMotion/Assets/LitMotion/Editor/SerializableMotionSettingsDrawer.cs index ca440589..b640422b 100644 --- a/src/LitMotion/Assets/LitMotion/Editor/SerializableMotionSettingsDrawer.cs +++ b/src/LitMotion/Assets/LitMotion/Editor/SerializableMotionSettingsDrawer.cs @@ -47,6 +47,15 @@ public override VisualElement CreatePropertyGUI(SerializedProperty property) group.Add(PropertyFieldHelper.CreateFixedStringField(property.FindPropertyRelative("startValue"), FixedString4096Bytes.UTF8MaxLengthInBytes)); group.Add(PropertyFieldHelper.CreateFixedStringField(property.FindPropertyRelative("endValue"), FixedString4096Bytes.UTF8MaxLengthInBytes)); } + else if (valueType == typeof(UnityEngine.Color)) + { + var start_value = new ColorField("Start Value") { hdr = true, showAlpha = true }; + start_value.BindProperty(property.FindPropertyRelative("startValue")); + var end_value = new ColorField("End Value") { hdr = true, showAlpha = true }; + end_value.BindProperty(property.FindPropertyRelative("endValue")); + group.Add(start_value); + group.Add(end_value); + } else { AddPropertyField(group, property, "startValue"); diff --git a/src/LitMotion/Assets/LitMotion/Runtime/Internal/ManagedMotionData.cs b/src/LitMotion/Assets/LitMotion/Runtime/Internal/ManagedMotionData.cs index 16d85870..e083868a 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/Internal/ManagedMotionData.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/Internal/ManagedMotionData.cs @@ -25,6 +25,7 @@ public unsafe struct ManagedMotionData public Action OnLoopCompleteAction; public Action OnCompleteAction; public Action OnCancelAction; + public Action OnStartAction; #if LITMOTION_DEBUG public string DebugName; @@ -88,5 +89,18 @@ public readonly void InvokeOnLoopComplete(int completedLoops) MotionDispatcher.GetUnhandledExceptionHandler()?.Invoke(ex); } } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public readonly void InvokeOnStart() + { + try + { + OnStartAction?.Invoke(); + } + catch (Exception ex) + { + MotionDispatcher.GetUnhandledExceptionHandler()?.Invoke(ex); + } + } } } \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionData.cs b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionData.cs index 54405a7a..ca57f48b 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionData.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionData.cs @@ -22,6 +22,7 @@ public struct MotionState public double Time; public float PlaybackSpeed; + public readonly bool WasStart => WasStatusChanged && Status == MotionStatus.Playing; public readonly bool WasStatusChanged => Status != PrevStatus; public readonly bool WasLoopCompleted => CompletedLoops > PrevCompletedLoops; diff --git a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionManager.cs b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionManager.cs index f1dfe1b5..07ea90e7 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionManager.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionManager.cs @@ -68,13 +68,6 @@ public static bool TryCancel(MotionHandle handle, bool checkIsInSequence = true) return list[handle.StorageId].TryCancel(handle, checkIsInSequence); } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static bool IsValid(MotionHandle handle) - { - if (handle.StorageId < 0 || handle.StorageId >= MotionTypeCount) return false; - return list[handle.StorageId].IsValid(handle); - } - [MethodImpl(MethodImplOptions.AggressiveInlining)] public static bool IsActive(MotionHandle handle) { @@ -122,5 +115,6 @@ static void CheckTypeId(in MotionHandle handle) throw new ArgumentException("Invalid type id."); } } + } } \ No newline at end of file diff --git a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionStorage.cs b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionStorage.cs index 1c926052..54665af3 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionStorage.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/Internal/MotionStorage.cs @@ -19,7 +19,6 @@ internal record MotionDebugInfo internal interface IMotionStorage { - bool IsValid(MotionHandle handle); bool IsActive(MotionHandle handle); bool IsPlaying(MotionHandle handle); bool TryCancel(MotionHandle handle, bool checkIsInSequence = true); @@ -127,6 +126,7 @@ public unsafe MotionHandle Create(ref MotionBuilder managedDataRef.OnLoopCompleteAction = buffer.OnLoopCompleteAction; managedDataRef.OnCancelAction = buffer.OnCancelAction; managedDataRef.OnCompleteAction = buffer.OnCompleteAction; + managedDataRef.OnStartAction = buffer.OnStartAction; managedDataRef.StateCount = buffer.StateCount; managedDataRef.State0 = buffer.State0; managedDataRef.State1 = buffer.State1; @@ -213,15 +213,6 @@ public void RemoveAll(NativeList denseIndexList) } } - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public bool IsValid(MotionHandle handle) - { - ref var slot = ref sparseSetCore.GetSlotRefUnchecked(handle.Index); - if (IsDenseIndexOutOfRange(slot.DenseIndex)) return false; - if (IsInvalidVersion(slot.Version, handle)) return false; - return true; - } - [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool IsActive(MotionHandle handle) { diff --git a/src/LitMotion/Assets/LitMotion/Runtime/Internal/UpdateRunner.cs b/src/LitMotion/Assets/LitMotion/Runtime/Internal/UpdateRunner.cs index 43542343..da6a7b20 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/Internal/UpdateRunner.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/Internal/UpdateRunner.cs @@ -98,6 +98,11 @@ public unsafe void Update(double time, double unscaledTime, double realtime) { managedData.InvokeOnComplete(); } + + if (state.WasStart) + { + managedData.InvokeOnStart(); + } } } } diff --git a/src/LitMotion/Assets/LitMotion/Runtime/LMotion.Create.FromSettings.cs b/src/LitMotion/Assets/LitMotion/Runtime/LMotion.Create.FromSettings.cs index cc604b91..4b5443d1 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/LMotion.Create.FromSettings.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/LMotion.Create.FromSettings.cs @@ -83,14 +83,14 @@ public static partial class LMotion /// The type of adapter that support value animation /// Motion settings /// Created motion builder - public static MotionBuilder Create(MotionSettings settings) + public static MotionBuilder Create(MotionSettings settings, bool swapStartEnd = false) where TValue : unmanaged where TOptions : unmanaged, IMotionOptions where TAdapter : unmanaged, IMotionAdapter { var buffer = MotionBuilderBuffer.Rent(); - buffer.StartValue = settings.StartValue; - buffer.EndValue = settings.EndValue; + buffer.StartValue = swapStartEnd ? settings.EndValue : settings.StartValue; + buffer.EndValue = swapStartEnd ? settings.StartValue : settings.EndValue; buffer.Duration = settings.Duration; buffer.Options = settings.Options; buffer.Ease = settings.Ease; diff --git a/src/LitMotion/Assets/LitMotion/Runtime/MotionBuilder.cs b/src/LitMotion/Assets/LitMotion/Runtime/MotionBuilder.cs index 2cc31b7c..7ca188cd 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/MotionBuilder.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/MotionBuilder.cs @@ -56,6 +56,7 @@ public static void Return(MotionBuilderBuffer buffer) buffer.OnLoopCompleteAction = default; buffer.OnCompleteAction = default; buffer.OnCancelAction = default; + buffer.OnStartAction = default; buffer.CancelOnError = default; buffer.SkipValuesDuringDelay = default; @@ -97,6 +98,7 @@ public static void Return(MotionBuilderBuffer buffer) public Action OnLoopCompleteAction; public Action OnCompleteAction; public Action OnCancelAction; + public Action OnStartAction; public AnimationCurve AnimationCurve; public IMotionScheduler Scheduler; @@ -237,6 +239,14 @@ public readonly MotionBuilder WithOnLoopComplete(Act return this; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public readonly MotionBuilder WithOnStart(Action callback) + { + CheckBuffer(); + buffer.OnStartAction += callback; + return this; + } + /// /// Cancel Motion when an exception occurs during Bind processing. /// diff --git a/src/LitMotion/Assets/LitMotion/Runtime/MotionDispatcher.cs b/src/LitMotion/Assets/LitMotion/Runtime/MotionDispatcher.cs index 0fb2723d..55bb4031 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/MotionDispatcher.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/MotionDispatcher.cs @@ -100,6 +100,7 @@ public static (UpdateRunner runner, bool isCreated) runner = new UpdateRunner(storage, Time.timeAsDouble, Time.unscaledTimeAsDouble, Time.realtimeSinceStartupAsDouble); } GetRunnerList(playerLoopTiming).Add(runner); + return (runner, true); } return (runner, false); @@ -141,7 +142,7 @@ static ref FastListCore GetRunnerList(PlayerLoopTiming playerLoop return ref postLateUpdateRunners; case PlayerLoopTiming.TimeUpdate: return ref timeUpdateRunners; - }; + } } static Action unhandledException = DefaultUnhandledExceptionHandler; @@ -171,7 +172,10 @@ public static Action GetUnhandledExceptionHandler() static void DefaultUnhandledExceptionHandler(Exception exception) { +#if UNITY_EDITOR + Debug.LogError("EDITOR ONLY"); Debug.LogException(exception); +#endif } /// diff --git a/src/LitMotion/Assets/LitMotion/Runtime/MotionHandleExtensions.cs b/src/LitMotion/Assets/LitMotion/Runtime/MotionHandleExtensions.cs index d6927b39..6fd8d632 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/MotionHandleExtensions.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/MotionHandleExtensions.cs @@ -16,17 +16,6 @@ namespace LitMotion /// public static class MotionHandleExtensions { - /// - /// Checks if a motion is valid. - /// - /// This motion handle - /// True if motion is valid, otherwise false. - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static bool IsValid(this MotionHandle handle) - { - return MotionManager.IsValid(handle); - } - /// /// Checks if a motion is active. /// diff --git a/src/LitMotion/Assets/LitMotion/Runtime/MotionSequenceSource.cs b/src/LitMotion/Assets/LitMotion/Runtime/MotionSequenceSource.cs index 96ccd345..e0f4ca8f 100644 --- a/src/LitMotion/Assets/LitMotion/Runtime/MotionSequenceSource.cs +++ b/src/LitMotion/Assets/LitMotion/Runtime/MotionSequenceSource.cs @@ -108,8 +108,7 @@ public double Time void OnComplete() { - if (!handle.IsValid()) return; - if (MotionManager.GetDataRef(handle, false).State.IsPreserved) return; + if (handle.IsActive()) return; foreach (var item in Items) { diff --git a/src/LitMotion/Assets/Settings/URP/Medium_PipelineAsset.asset b/src/LitMotion/Assets/Settings/URP/Medium_PipelineAsset.asset index f8ed88cd..107b7547 100644 --- a/src/LitMotion/Assets/Settings/URP/Medium_PipelineAsset.asset +++ b/src/LitMotion/Assets/Settings/URP/Medium_PipelineAsset.asset @@ -12,8 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bf2edee5c58d82540a51f03df9d42094, type: 3} m_Name: Medium_PipelineAsset m_EditorClassIdentifier: - k_AssetVersion: 12 - k_AssetPreviousVersion: 12 + k_AssetVersion: 13 + k_AssetPreviousVersion: 13 m_RendererType: 1 m_RendererData: {fileID: 0} m_RendererDataList: @@ -53,6 +53,7 @@ MonoBehaviour: m_AdditionalLightsShadowResolutionTierHigh: 1024 m_ReflectionProbeBlending: 1 m_ReflectionProbeBoxProjection: 1 + m_ReflectionProbeAtlas: 1 m_ShadowDistance: 20 m_ShadowCascadeCount: 1 m_Cascade2Split: 0.33333334 @@ -127,10 +128,16 @@ MonoBehaviour: m_PrefilterSoftShadowsQualityHigh: 0 m_PrefilterSoftShadows: 0 m_PrefilterScreenCoord: 0 + m_PrefilterScreenSpaceIrradiance: 0 m_PrefilterNativeRenderPass: 0 m_PrefilterUseLegacyLightmaps: 0 + m_PrefilterBicubicLightmapSampling: 0 + m_PrefilterReflectionProbeRotation: 0 + m_PrefilterReflectionProbeBlending: 0 + m_PrefilterReflectionProbeBoxProjection: 0 + m_PrefilterReflectionProbeAtlas: 0 m_ShaderVariantLogLevel: 0 m_ShadowCascades: 0 m_Textures: - blueNoise64LTex: {fileID: 0} - bayerMatrixTex: {fileID: 0} + blueNoise64LTex: {fileID: 2800000, guid: e3d24661c1e055f45a7560c033dbb837, type: 3} + bayerMatrixTex: {fileID: 2800000, guid: f9ee4ed84c1d10c49aabb9b210b0fc44, type: 3} diff --git a/src/LitMotion/Assets/Settings/URP/UniversalRenderPipelineGlobalSettings.asset b/src/LitMotion/Assets/Settings/URP/UniversalRenderPipelineGlobalSettings.asset index 19942398..30ab6727 100644 --- a/src/LitMotion/Assets/Settings/URP/UniversalRenderPipelineGlobalSettings.asset +++ b/src/LitMotion/Assets/Settings/URP/UniversalRenderPipelineGlobalSettings.asset @@ -54,9 +54,20 @@ MonoBehaviour: - rid: 1071524756539572926 - rid: 1071524756539572927 - rid: 1071524756539572928 + - rid: 2924526414498103296 + - rid: 2924526414498103297 + - rid: 2924526414498103298 + - rid: 2924526414498103299 + - rid: 2924526414498103300 + - rid: 2924526414498103301 + - rid: 2924526414498103302 + - rid: 2924526414498103303 + - rid: 2924526414498103304 + - rid: 2924526414498103305 + - rid: 2924526414498103306 m_RuntimeSettings: m_List: [] - m_AssetVersion: 8 + m_AssetVersion: 9 m_ObsoleteDefaultVolumeProfile: {fileID: 0} m_RenderingLayerNames: - Default @@ -87,15 +98,13 @@ MonoBehaviour: m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2} m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2} + m_DefaultSpriteMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} - rid: 1071524756539572909 type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3} m_AutodeskInteractiveTransparent: {fileID: 4800000, guid: 5c81372d981403744adbdda4433c9c11, type: 3} m_AutodeskInteractiveMasked: {fileID: 4800000, guid: 80aa867ac363ac043847b06ad71604cd, type: 3} - m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} - m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} - m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3} m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3} m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3} @@ -139,6 +148,9 @@ MonoBehaviour: m_CoreBlitPS: {fileID: 4800000, guid: 93446b5c5339d4f00b85c159e1159b7c, type: 3} m_CoreBlitColorAndDepthPS: {fileID: 4800000, guid: d104b2fc1ca6445babb8e90b0758136b, type: 3} m_SamplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} + m_TerrainDetailLit: {fileID: 4800000, guid: f6783ab646d374f94b199774402a5144, type: 3} + m_TerrainDetailGrassBillboard: {fileID: 4800000, guid: 29868e73b638e48ca99a19ea58c48d90, type: 3} + m_TerrainDetailGrass: {fileID: 4800000, guid: e507fdfead5ca47e8b9a768b51c291a1, type: 3} - rid: 1071524756539572916 type: {class: URPDefaultVolumeProfileSettings, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} data: @@ -151,6 +163,8 @@ MonoBehaviour: m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} m_CameraMotionVector: {fileID: 4800000, guid: c56b7e0d4c7cb484e959caeeedae9bbf, type: 3} m_StencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} + m_ClusterDeferred: {fileID: 4800000, guid: 222cce62363a44a380c36bf03b392608, type: 3} + m_StencilDitherMaskSeedPS: {fileID: 4800000, guid: 8c3ee818f2efa514c889881ccb2e95a2, type: 3} m_DBufferClear: {fileID: 4800000, guid: f056d8bd2a1c7e44e9729144b4c70395, type: 3} - rid: 1071524756539572918 type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} @@ -162,11 +176,11 @@ MonoBehaviour: m_SpriteUnshadowShader: {fileID: 4800000, guid: de02b375720b5c445afe83cd483bedf3, type: 3} m_GeometryShadowShader: {fileID: 4800000, guid: 19349a0f9a7ed4c48a27445bcf92e5e1, type: 3} m_GeometryUnshadowShader: {fileID: 4800000, guid: 77774d9009bb81447b048c907d4c6273, type: 3} - m_FallOffLookup: {fileID: 2800000, guid: 5688ab254e4c0634f8d6c8e0792331ca, type: 3} m_CopyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2} + m_DefaultMesh2DLitMaterial: {fileID: 2100000, guid: 9452ae1262a74094f8a68013fbcd1834, type: 2} - rid: 1071524756539572919 type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime} data: @@ -246,3 +260,121 @@ MonoBehaviour: m_ExportShaderVariants: 1 m_ShaderVariantLogLevel: 0 m_StripRuntimeDebugShaders: 1 + - rid: 2924526414498103296 + type: {class: RayTracingRenderPipelineResources, ns: UnityEngine.Rendering.UnifiedRayTracing, asm: Unity.UnifiedRayTracing.Runtime} + data: + m_Version: 1 + m_GeometryPoolKernels: {fileID: 7200000, guid: 98e3d58cae7210c4786f67f504c9e899, type: 3} + m_CopyBuffer: {fileID: 7200000, guid: 1b95b5dcf48d1914c9e1e7405c7660e3, type: 3} + m_CopyPositions: {fileID: 7200000, guid: 1ad53a96b58d3c3488dde4f14db1aaeb, type: 3} + m_BitHistogram: {fileID: 7200000, guid: 8670f7ce4b60cef43bed36148aa1b0a2, type: 3} + m_BlockReducePart: {fileID: 7200000, guid: 4e034cc8ea2635c4e9f063e5ddc7ea7a, type: 3} + m_BlockScan: {fileID: 7200000, guid: 4d6d5de35fa45ef4a92119397a045cc9, type: 3} + m_BuildHlbvh: {fileID: 7200000, guid: 2d70cd6be91bd7843a39a54b51c15b13, type: 3} + m_RestructureBvh: {fileID: 7200000, guid: 56641cb88dcb31a4398a4997ef7a7a8c, type: 3} + m_Scatter: {fileID: 7200000, guid: a2eaeefdac4637a44b734e85b7be9186, type: 3} + - rid: 2924526414498103297 + type: {class: ScreenSpaceAmbientOcclusionPersistentResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3} + m_Version: 0 + - rid: 2924526414498103298 + type: {class: PostProcessData/ShaderResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + stopNanPS: {fileID: 4800000, guid: 1121bb4e615ca3c48b214e79e841e823, type: 3} + subpixelMorphologicalAntialiasingPS: {fileID: 4800000, guid: 63eaba0ebfb82cc43bde059b4a8c65f6, type: 3} + gaussianDepthOfFieldPS: {fileID: 4800000, guid: 5e7134d6e63e0bc47a1dd2669cedb379, type: 3} + bokehDepthOfFieldPS: {fileID: 4800000, guid: 2aed67ad60045d54ba3a00c91e2d2631, type: 3} + cameraMotionBlurPS: {fileID: 4800000, guid: 1edcd131364091c46a17cbff0b1de97a, type: 3} + paniniProjectionPS: {fileID: 4800000, guid: a15b78cf8ca26ca4fb2090293153c62c, type: 3} + lutBuilderLdrPS: {fileID: 4800000, guid: 65df88701913c224d95fc554db28381a, type: 3} + lutBuilderHdrPS: {fileID: 4800000, guid: ec9fec698a3456d4fb18cf8bacb7a2bc, type: 3} + bloomPS: {fileID: 4800000, guid: 5f1864addb451f54bae8c86d230f736e, type: 3} + temporalAntialiasingPS: {fileID: 4800000, guid: 9c70c1a35ff15f340b38ea84842358bf, type: 3} + LensFlareDataDrivenPS: {fileID: 4800000, guid: 6cda457ac28612740adb23da5d39ea92, type: 3} + LensFlareScreenSpacePS: {fileID: 4800000, guid: 701880fecb344ea4c9cd0db3407ab287, type: 3} + scalingSetupPS: {fileID: 4800000, guid: e8ee25143a34b8c4388709ea947055d1, type: 3} + easuPS: {fileID: 4800000, guid: 562b7ae4f629f144aa97780546fce7c6, type: 3} + uberPostPS: {fileID: 4800000, guid: e7857e9d0c934dc4f83f270f8447b006, type: 3} + finalPostPassPS: {fileID: 4800000, guid: c49e63ed1bbcb334780a3bd19dfed403, type: 3} + m_ShaderResourcesVersion: 0 + - rid: 2924526414498103299 + type: {class: PostProcessData/TextureResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + blueNoise16LTex: [] + filmGrainTex: + - {fileID: 2800000, guid: 654c582f7f8a5a14dbd7d119cbde215d, type: 3} + - {fileID: 2800000, guid: dd77ffd079630404e879388999033049, type: 3} + - {fileID: 2800000, guid: 1097e90e1306e26439701489f391a6c0, type: 3} + - {fileID: 2800000, guid: f0b67500f7fad3b4c9f2b13e8f41ba6e, type: 3} + - {fileID: 2800000, guid: 9930fb4528622b34687b00bbe6883de7, type: 3} + - {fileID: 2800000, guid: bd9e8c758250ef449a4b4bfaad7a2133, type: 3} + - {fileID: 2800000, guid: 510a2f57334933e4a8dbabe4c30204e4, type: 3} + - {fileID: 2800000, guid: b4db8180660810945bf8d55ab44352ad, type: 3} + - {fileID: 2800000, guid: fd2fd78b392986e42a12df2177d3b89c, type: 3} + - {fileID: 2800000, guid: 5cdee82a77d13994f83b8fdabed7c301, type: 3} + smaaAreaTex: {fileID: 2800000, guid: d1f1048909d55cd4fa1126ab998f617e, type: 3} + smaaSearchTex: {fileID: 2800000, guid: 51eee22c2a633ef4aada830eed57c3fd, type: 3} + m_TexturesResourcesVersion: 0 + - rid: 2924526414498103300 + type: {class: UniversalRenderPipelineEditorAssets, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_DefaultSettingsVolumeProfile: {fileID: 11400000, guid: eda47df5b85f4f249abf7abd73db2cb2, type: 2} + - rid: 2924526414498103301 + type: {class: ScreenSpaceAmbientOcclusionDynamicResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_BlueNoise256Textures: + - {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3} + - {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3} + - {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3} + - {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3} + - {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3} + - {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3} + - {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3} + m_Version: 0 + - rid: 2924526414498103302 + type: {class: URPReflectionProbeSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Universal.Runtime} + data: + version: 1 + useReflectionProbeRotation: 0 + - rid: 2924526414498103303 + type: {class: OnTilePostProcessResource, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime} + data: + m_Version: 0 + m_UberPostShader: {fileID: 4800000, guid: fe4f13c1004a07d4ea1e30bfd0326d9e, type: 3} + - rid: 2924526414498103304 + type: {class: RenderingDebuggerRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_version: 0 + - rid: 2924526414498103305 + type: {class: LightmapSamplingSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_Version: 1 + m_UseBicubicLightmapSampling: 0 + - rid: 2924526414498103306 + type: {class: VrsRenderPipelineRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime} + data: + m_TextureComputeShader: {fileID: 7200000, guid: cacb30de6c40c7444bbc78cb0a81fd2a, type: 3} + m_VisualizationShader: {fileID: 4800000, guid: 620b55b8040a88d468e94abe55bed5ba, type: 3} + m_VisualizationLookupTable: + m_Data: + - {r: 0.785, g: 0.23, b: 0.2, a: 1} + - {r: 1, g: 0.8, b: 0.8, a: 1} + - {r: 0.4, g: 0.2, b: 0.2, a: 1} + - {r: 0.51, g: 0.8, b: 0.6, a: 1} + - {r: 0.6, g: 0.8, b: 1, a: 1} + - {r: 0.2, g: 0.4, b: 0.6, a: 1} + - {r: 0.8, g: 1, b: 0.8, a: 1} + - {r: 0.2, g: 0.4, b: 0.2, a: 1} + - {r: 0.125, g: 0.22, b: 0.36, a: 1} + m_ConversionLookupTable: + m_Data: + - {r: 0.785, g: 0.23, b: 0.2, a: 1} + - {r: 1, g: 0.8, b: 0.8, a: 1} + - {r: 0.4, g: 0.2, b: 0.2, a: 1} + - {r: 0.51, g: 0.8, b: 0.6, a: 1} + - {r: 0.6, g: 0.8, b: 1, a: 1} + - {r: 0.2, g: 0.4, b: 0.6, a: 1} + - {r: 0.8, g: 1, b: 0.8, a: 1} + - {r: 0.2, g: 0.4, b: 0.2, a: 1} + - {r: 0.125, g: 0.22, b: 0.36, a: 1} diff --git a/src/LitMotion/Packages/manifest.json b/src/LitMotion/Packages/manifest.json index 93b50681..97fa8567 100644 --- a/src/LitMotion/Packages/manifest.json +++ b/src/LitMotion/Packages/manifest.json @@ -1,25 +1,13 @@ { "dependencies": { - "com.cysharp.r3": "https://github.com/Cysharp/R3.git?path=src/R3.Unity/Assets/R3.Unity", "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", "com.cysharp.zstring": "https://github.com/Cysharp/ZString.git?path=src/ZString.Unity/Assets/Scripts/ZString", "com.neuecc.unirx": "https://github.com/neuecc/UniRx.git?path=Assets/Plugins/UniRx/Scripts", - "com.unity.collab-proxy": "2.5.2", - "com.unity.feature.development": "1.0.2", - "com.unity.ide.visualstudio": "2.0.22", - "com.unity.logging": "1.3.2", - "com.unity.multiplayer.center": "1.0.0", - "com.unity.render-pipelines.universal": "17.0.3", - "com.unity.timeline": "1.8.7", - "com.unity.toolchain.macos-arm64-linux-x86_64": "2.0.3", + "com.unity.ide.visualstudio": "2.0.25", + "com.unity.render-pipelines.universal": "17.3.0", "com.unity.ugui": "2.0.0", - "com.unity.visualeffectgraph": "17.0.3", - "com.unity.visualscripting": "1.9.4", - "org.nuget.microsoft.bcl.timeprovider": "8.0.1", - "org.nuget.r3": "1.1.10", - "org.nuget.system.componentmodel.annotations": "5.0.0", - "org.nuget.system.threading.channels": "8.0.0", "com.unity.modules.accessibility": "1.0.0", + "com.unity.modules.adaptiveperformance": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", @@ -46,6 +34,7 @@ "com.unity.modules.unitywebrequestaudio": "1.0.0", "com.unity.modules.unitywebrequesttexture": "1.0.0", "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vectorgraphics": "1.0.0", "com.unity.modules.vehicles": "1.0.0", "com.unity.modules.video": "1.0.0", "com.unity.modules.vr": "1.0.0", diff --git a/src/LitMotion/Packages/packages-lock.json b/src/LitMotion/Packages/packages-lock.json index 110b24d8..9ba256d4 100644 --- a/src/LitMotion/Packages/packages-lock.json +++ b/src/LitMotion/Packages/packages-lock.json @@ -1,14 +1,5 @@ { "dependencies": { - "com.cysharp.r3": { - "version": "https://github.com/Cysharp/R3.git?path=src/R3.Unity/Assets/R3.Unity", - "depth": 0, - "source": "git", - "dependencies": { - "com.unity.modules.imgui": "1.0.0" - }, - "hash": "f0d7a6ee7f8a31dfeef3e25f120d4e2e55ecbdbe" - }, "com.cysharp.unitask": { "version": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask", "depth": 0, @@ -31,8 +22,8 @@ "hash": "284d5c50d3f1ddd9fa7df3d382ea904732a9c2ff" }, "com.unity.burst": { - "version": "1.8.18", - "depth": 1, + "version": "1.8.26", + "depth": 2, "source": "registry", "dependencies": { "com.unity.mathematics": "1.2.1", @@ -40,111 +31,50 @@ }, "url": "https://packages.unity.com" }, - "com.unity.collab-proxy": { - "version": "2.5.2", - "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.collections": { - "version": "2.5.1", - "depth": 1, + "version": "2.6.2", + "depth": 2, "source": "registry", "dependencies": { - "com.unity.burst": "1.8.17", - "com.unity.test-framework": "1.4.5", - "com.unity.nuget.mono-cecil": "1.11.4", + "com.unity.burst": "1.8.23", + "com.unity.mathematics": "1.3.2", + "com.unity.test-framework": "1.4.6", + "com.unity.nuget.mono-cecil": "1.11.5", "com.unity.test-framework.performance": "3.0.3" }, "url": "https://packages.unity.com" }, - "com.unity.editorcoroutines": { - "version": "1.0.0", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.ext.nunit": { "version": "2.0.5", "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.feature.development": { - "version": "1.0.2", - "depth": 0, "source": "builtin", - "dependencies": { - "com.unity.ide.visualstudio": "2.0.22", - "com.unity.ide.rider": "3.0.31", - "com.unity.editorcoroutines": "1.0.0", - "com.unity.performance.profile-analyzer": "1.2.2", - "com.unity.test-framework": "1.4.5", - "com.unity.testtools.codecoverage": "1.2.6" - } - }, - "com.unity.ide.rider": { - "version": "3.0.31", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.ext.nunit": "1.0.6" - }, - "url": "https://packages.unity.com" + "dependencies": {} }, "com.unity.ide.visualstudio": { - "version": "2.0.22", + "version": "2.0.25", "depth": 0, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.9" - }, - "url": "https://packages.unity.com" - }, - "com.unity.logging": { - "version": "1.3.2", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.burst": "1.8.17", - "com.unity.collections": "2.5.1" + "com.unity.test-framework": "1.1.31" }, "url": "https://packages.unity.com" }, "com.unity.mathematics": { - "version": "1.3.2", + "version": "1.3.3", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.multiplayer.center": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": { - "com.unity.modules.uielements": "1.0.0" - } - }, "com.unity.nuget.mono-cecil": { - "version": "1.11.4", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.performance.profile-analyzer": { - "version": "1.2.2", - "depth": 1, + "version": "1.11.6", + "depth": 3, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.render-pipelines.core": { - "version": "17.0.3", + "version": "17.3.0", "depth": 1, "source": "builtin", "dependencies": { @@ -154,17 +84,16 @@ "com.unity.collections": "2.4.3", "com.unity.modules.physics": "1.0.0", "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.rendering.light-transport": "1.0.1" + "com.unity.modules.jsonserialize": "1.0.0" } }, "com.unity.render-pipelines.universal": { - "version": "17.0.3", + "version": "17.3.0", "depth": 0, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.0.3", - "com.unity.shadergraph": "17.0.3", + "com.unity.render-pipelines.core": "17.3.0", + "com.unity.shadergraph": "17.3.0", "com.unity.render-pipelines.universal-config": "17.0.3" } }, @@ -176,108 +105,42 @@ "com.unity.render-pipelines.core": "17.0.3" } }, - "com.unity.rendering.light-transport": { - "version": "1.0.1", - "depth": 2, - "source": "builtin", - "dependencies": { - "com.unity.collections": "2.2.0", - "com.unity.mathematics": "1.2.4", - "com.unity.modules.terrain": "1.0.0" - } - }, "com.unity.searcher": { - "version": "4.9.2", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.settings-manager": { - "version": "2.0.1", + "version": "4.9.4", "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.shadergraph": { - "version": "17.0.3", + "version": "17.3.0", "depth": 1, "source": "builtin", "dependencies": { - "com.unity.render-pipelines.core": "17.0.3", - "com.unity.searcher": "4.9.2" + "com.unity.render-pipelines.core": "17.3.0", + "com.unity.searcher": "4.9.3" } }, - "com.unity.sysroot": { - "version": "2.0.10", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, - "com.unity.sysroot.linux-x86_64": { - "version": "2.0.9", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "2.0.10" - }, - "url": "https://packages.unity.com" - }, "com.unity.test-framework": { - "version": "1.4.5", + "version": "1.6.0", "depth": 1, - "source": "registry", + "source": "builtin", "dependencies": { "com.unity.ext.nunit": "2.0.3", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" + } }, "com.unity.test-framework.performance": { - "version": "3.0.3", - "depth": 2, + "version": "3.2.0", + "depth": 3, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.31", + "com.unity.test-framework": "1.1.33", "com.unity.modules.jsonserialize": "1.0.0" }, "url": "https://packages.unity.com" }, - "com.unity.testtools.codecoverage": { - "version": "1.2.6", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.test-framework": "1.0.16", - "com.unity.settings-manager": "1.0.1" - }, - "url": "https://packages.unity.com" - }, - "com.unity.timeline": { - "version": "1.8.7", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.toolchain.macos-arm64-linux-x86_64": { - "version": "2.0.3", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.sysroot": "2.0.10", - "com.unity.sysroot.linux-x86_64": "2.0.9" - }, - "url": "https://packages.unity.com" - }, "com.unity.ugui": { "version": "2.0.0", "depth": 0, @@ -287,119 +150,19 @@ "com.unity.modules.imgui": "1.0.0" } }, - "com.unity.visualeffectgraph": { - "version": "17.0.3", + "com.unity.modules.accessibility": { + "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": { - "com.unity.shadergraph": "17.0.3", - "com.unity.render-pipelines.core": "17.0.3" - } - }, - "com.unity.visualscripting": { - "version": "1.9.4", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "org.nuget.microsoft.bcl.asyncinterfaces": { - "version": "8.0.0", - "depth": 1, - "source": "registry", - "dependencies": { - "org.nuget.system.threading.tasks.extensions": "4.5.4" - }, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.microsoft.bcl.timeprovider": { - "version": "8.0.1", - "depth": 0, - "source": "registry", - "dependencies": { - "org.nuget.microsoft.bcl.asyncinterfaces": "8.0.0" - }, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.r3": { - "version": "1.1.10", - "depth": 0, - "source": "registry", - "dependencies": { - "org.nuget.microsoft.bcl.timeprovider": "8.0.0", - "org.nuget.system.buffers": "4.5.1", - "org.nuget.system.componentmodel.annotations": "5.0.0", - "org.nuget.system.memory": "4.5.5", - "org.nuget.system.runtime.compilerservices.unsafe": "6.0.0", - "org.nuget.system.threading.channels": "8.0.0" - }, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.buffers": { - "version": "4.5.1", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.componentmodel.annotations": { - "version": "5.0.0", - "depth": 0, - "source": "registry", - "dependencies": {}, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.memory": { - "version": "4.5.5", - "depth": 1, - "source": "registry", - "dependencies": { - "org.nuget.system.buffers": "4.5.1", - "org.nuget.system.numerics.vectors": "4.4.0", - "org.nuget.system.runtime.compilerservices.unsafe": "4.5.3" - }, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.numerics.vectors": { - "version": "4.4.0", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.runtime.compilerservices.unsafe": { - "version": "6.0.0", - "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.threading.channels": { - "version": "8.0.0", - "depth": 0, - "source": "registry", - "dependencies": { - "org.nuget.system.threading.tasks.extensions": "4.5.4" - }, - "url": "https://unitynuget-registry.azurewebsites.net" - }, - "org.nuget.system.threading.tasks.extensions": { - "version": "4.5.4", - "depth": 1, - "source": "registry", - "dependencies": { - "org.nuget.system.runtime.compilerservices.unsafe": "4.5.3" - }, - "url": "https://unitynuget-registry.azurewebsites.net" + "dependencies": {} }, - "com.unity.modules.accessibility": { + "com.unity.modules.adaptiveperformance": { "version": "1.0.0", "depth": 0, "source": "builtin", - "dependencies": {} + "dependencies": { + "com.unity.modules.subsystems": "1.0.0" + } }, "com.unity.modules.ai": { "version": "1.0.0", @@ -543,7 +306,8 @@ "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.hierarchycore": "1.0.0" + "com.unity.modules.hierarchycore": "1.0.0", + "com.unity.modules.physics": "1.0.0" } }, "com.unity.modules.umbra": { @@ -607,6 +371,16 @@ "com.unity.modules.imageconversion": "1.0.0" } }, + "com.unity.modules.vectorgraphics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, "com.unity.modules.vehicles": { "version": "1.0.0", "depth": 0, diff --git a/src/LitMotion/ProjectSettings/EditorSettings.asset b/src/LitMotion/ProjectSettings/EditorSettings.asset index a15d6404..e34ddfc9 100644 --- a/src/LitMotion/ProjectSettings/EditorSettings.asset +++ b/src/LitMotion/ProjectSettings/EditorSettings.asset @@ -3,7 +3,7 @@ --- !u!159 &1 EditorSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 15 m_SerializationMode: 2 m_LineEndingsForNewScripts: 0 m_DefaultBehaviorMode: 0 @@ -25,7 +25,7 @@ EditorSettings: m_AsyncShaderCompilation: 1 m_PrefabModeAllowAutoSave: 1 m_EnterPlayModeOptionsEnabled: 1 - m_EnterPlayModeOptions: 1 + m_EnterPlayModeOptions: 3 m_GameObjectNamingDigits: 1 m_GameObjectNamingScheme: 0 m_AssetNamingUsesSpace: 1 @@ -33,6 +33,7 @@ EditorSettings: m_UseLegacyProbeSampleCount: 0 m_SerializeInlineMappingsOnOneLine: 1 m_DisableCookiesInLightmapper: 0 + m_ShadowmaskStitching: 0 m_AssetPipelineMode: 1 m_RefreshImportMode: 0 m_CacheServerMode: 0 @@ -45,3 +46,5 @@ EditorSettings: m_CacheServerValidationMode: 2 m_CacheServerDownloadBatchSize: 128 m_EnableEnlightenBakedGI: 0 + m_ReferencedClipsExactNaming: 0 + m_ForceAssetUnloadAndGCOnSceneLoad: 1 diff --git a/src/LitMotion/ProjectSettings/GraphicsSettings.asset b/src/LitMotion/ProjectSettings/GraphicsSettings.asset index 4351892d..e4704dd0 100644 --- a/src/LitMotion/ProjectSettings/GraphicsSettings.asset +++ b/src/LitMotion/ProjectSettings/GraphicsSettings.asset @@ -58,6 +58,8 @@ GraphicsSettings: m_AlbedoSwatchInfos: [] m_RenderPipelineGlobalSettingsMap: UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: fa84dd5dc05414d4b80202fd256a3080, type: 2} + m_ShaderBuildSettings: + keywordDeclarationOverrides: [] m_LightsUseLinearIntensity: 0 m_LightsUseColorTemperature: 1 m_LogWhenShaderIsCompiled: 0 diff --git a/src/LitMotion/ProjectSettings/Packages/com.unity.dedicated-server/MultiplayerRolesSettings.asset b/src/LitMotion/ProjectSettings/Packages/com.unity.dedicated-server/MultiplayerRolesSettings.asset new file mode 100644 index 00000000..d72800db --- /dev/null +++ b/src/LitMotion/ProjectSettings/Packages/com.unity.dedicated-server/MultiplayerRolesSettings.asset @@ -0,0 +1,17 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 53 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 15023, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: UnityEditor.MultiplayerModule.dll::UnityEditor.Multiplayer.Internal.MultiplayerRolesSettings + m_MultiplayerRoleForClassicProfile: + m_Keys: [] + m_Values: diff --git a/src/LitMotion/ProjectSettings/ProjectSettings.asset b/src/LitMotion/ProjectSettings/ProjectSettings.asset index eaeb29a9..ec58da13 100644 --- a/src/LitMotion/ProjectSettings/ProjectSettings.asset +++ b/src/LitMotion/ProjectSettings/ProjectSettings.asset @@ -70,6 +70,7 @@ PlayerSettings: androidStartInFullscreen: 1 androidRenderOutsideSafeArea: 1 androidUseSwappy: 1 + androidDisplayOptions: 1 androidBlitType: 0 androidResizeableActivity: 0 androidDefaultWindowWidth: 1920 @@ -86,6 +87,7 @@ PlayerSettings: muteOtherAudioSources: 0 Prepare IOS For Recording: 0 Force IOS Speakers When Recording: 0 + audioSpatialExperience: 0 deferSystemGesturesMode: 0 hideHomeButton: 0 submitAnalytics: 1 @@ -132,6 +134,7 @@ PlayerSettings: switchNVNMaxPublicSamplerIDCount: 0 switchMaxWorkerMultiple: 8 switchNVNGraphicsFirmwareMemory: 32 + switchGraphicsJobsSyncAfterKick: 1 vulkanNumSwapchainBuffers: 3 vulkanEnableSetSRGBWrite: 0 vulkanEnablePreTransform: 1 @@ -171,9 +174,10 @@ PlayerSettings: tvOS: 0 overrideDefaultApplicationIdentifier: 0 AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 23 + AndroidMinSdkVersion: 25 AndroidTargetSdkVersion: 0 AndroidPreferredInstallLocation: 1 + AndroidPreferredDataLocation: 1 aotOptions: nimt-trampolines=1024 stripEngineCode: 1 iPhoneStrippingLevel: 0 @@ -188,11 +192,11 @@ PlayerSettings: VertexChannelCompressionMask: 4054 iPhoneSdkVersion: 988 iOSSimulatorArchitecture: 0 - iOSTargetOSVersionString: 13.0 + iOSTargetOSVersionString: 15.0 tvOSSdkVersion: 0 tvOSSimulatorArchitecture: 0 tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 13.0 + tvOSTargetOSVersionString: 15.0 VisionOSSdkVersion: 0 VisionOSTargetOSVersionString: 1.0 uIPrerenderedIcon: 0 @@ -262,6 +266,7 @@ PlayerSettings: useCustomGradleSettingsTemplate: 0 useCustomProguardFile: 0 AndroidTargetArchitectures: 1 + AndroidAllowedArchitectures: -1 AndroidSplashScreenScale: 0 androidSplashScreen: {fileID: 0} AndroidKeystoreName: @@ -271,6 +276,9 @@ PlayerSettings: AndroidBuildApkPerCpuArchitecture: 0 AndroidTVCompatibility: 0 AndroidIsGame: 1 + androidAppCategory: 3 + useAndroidAppCategory: 1 + androidAppCategoryOther: AndroidEnableTango: 0 androidEnableBanner: 1 androidUseLowAccuracyLocation: 0 @@ -539,6 +547,9 @@ PlayerSettings: - m_BuildTarget: WebGLSupport m_APIs: 0b000000 m_Automatic: 1 + - m_BuildTarget: WindowsStandaloneSupport + m_APIs: 0200000012000000 + m_Automatic: 0 m_BuildTargetVRSettings: - m_BuildTarget: Standalone m_Enabled: 0 @@ -565,6 +576,7 @@ PlayerSettings: - serializedVersion: 2 m_BuildTarget: tvOS m_EncodingQuality: 1 + m_BuildTargetGroupHDRCubemapEncodingQuality: [] m_BuildTargetGroupLightmapSettings: [] m_BuildTargetGroupLoadStoreDebugModeSettings: [] m_BuildTargetNormalMapEncoding: @@ -589,7 +601,7 @@ PlayerSettings: locationUsageDescription: microphoneUsageDescription: bluetoothUsageDescription: - macOSTargetOSVersion: 11.0 + macOSTargetOSVersion: 12.0 switchNMETAOverride: switchNetLibKey: switchSocketMemoryPoolSize: 6144 @@ -837,12 +849,12 @@ PlayerSettings: webGLMemoryLinearGrowthStep: 16 webGLMemoryGeometricGrowthStep: 0.2 webGLMemoryGeometricGrowthCap: 96 - webGLEnableWebGPU: 0 webGLPowerPreference: 2 webGLWebAssemblyTable: 0 webGLWebAssemblyBigInt: 0 webGLCloseOnQuit: 0 webWasm2023: 0 + webEnableSubmoduleStrippingCompatibility: 0 scriptingDefineSymbols: Standalone: additionalCompilerArguments: {} @@ -971,3 +983,6 @@ PlayerSettings: insecureHttpOption: 0 androidVulkanDenyFilterList: [] androidVulkanAllowFilterList: [] + androidVulkanDeviceFilterListAsset: {fileID: 0} + d3d12DeviceFilterListAsset: {fileID: 0} + allowedHttpConnections: 3 diff --git a/src/LitMotion/ProjectSettings/ProjectVersion.txt b/src/LitMotion/ProjectSettings/ProjectVersion.txt index 11b73a4b..879b68f2 100644 --- a/src/LitMotion/ProjectSettings/ProjectVersion.txt +++ b/src/LitMotion/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 6000.0.23f1 -m_EditorVersionWithRevision: 6000.0.23f1 (1c4764c07fb4) +m_EditorVersion: 6000.3.2f1 +m_EditorVersionWithRevision: 6000.3.2f1 (a9779f353c9b) diff --git a/src/LitMotion/ProjectSettings/ShaderGraphSettings.asset b/src/LitMotion/ProjectSettings/ShaderGraphSettings.asset index a11ed582..37023575 100644 --- a/src/LitMotion/ProjectSettings/ShaderGraphSettings.asset +++ b/src/LitMotion/ProjectSettings/ShaderGraphSettings.asset @@ -12,5 +12,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3} m_Name: m_EditorClassIdentifier: + shaderVariantLimit: 2048 + overrideShaderVariantLimit: 0 customInterpolatorErrorThreshold: 32 customInterpolatorWarningThreshold: 16 + customHeatmapValues: {fileID: 0} diff --git a/src/LitMotion/ProjectSettings/URPProjectSettings.asset b/src/LitMotion/ProjectSettings/URPProjectSettings.asset index 08faf033..6ad56318 100644 --- a/src/LitMotion/ProjectSettings/URPProjectSettings.asset +++ b/src/LitMotion/ProjectSettings/URPProjectSettings.asset @@ -12,4 +12,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} m_Name: m_EditorClassIdentifier: - m_LastMaterialVersion: 9 + m_LastMaterialVersion: 10 + m_ProjectSettingFolderPath: URPDefaultResources diff --git a/src/LitMotion/ProjectSettings/VFXManager.asset b/src/LitMotion/ProjectSettings/VFXManager.asset index f99437bb..0462703c 100644 --- a/src/LitMotion/ProjectSettings/VFXManager.asset +++ b/src/LitMotion/ProjectSettings/VFXManager.asset @@ -5,6 +5,7 @@ VFXManager: m_ObjectHideFlags: 0 m_IndirectShader: {fileID: 7200000, guid: 84a17cfa13e40ae4082ef42714f0a81c, type: 3} m_CopyBufferShader: {fileID: 7200000, guid: 23c51f21a3503f6428b527b01f8a2f4e, type: 3} + m_PrefixSumShader: {fileID: 7200000, guid: 783e0fdc1a277f54bb851fd2ceab1e7f, type: 3} m_SortShader: {fileID: 7200000, guid: ea257ca3cfb12a642a5025e612af6b2a, type: 3} m_StripUpdateShader: {fileID: 7200000, guid: 8fa6c4009fe2a4d4486c62736fc30ad8, type: 3} m_EmptyShader: {fileID: 4800000, guid: 33a2079f6a2db4c4eb2e44b33f4ddf6b, type: 3} @@ -14,6 +15,6 @@ VFXManager: m_MaxScrubTime: 30 m_MaxCapacity: 100000000 m_CompiledVersion: 7 - m_RuntimeVersion: 38 + m_RuntimeVersion: 39 m_RuntimeResources: {fileID: 11400000, guid: bc10b42afe3813544bffd38ae2cd893d, type: 2} m_BatchEmptyLifetime: 300