From d383b8cf4216fbc5024faf174615005c9f1e9bf4 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 10 Apr 2026 14:40:18 +0100 Subject: [PATCH 1/5] Testing --- .../Assets/Materials/M_BrushBlit.mat | 4 +- .../Assets/Prefabs/Color Picker.prefab | 2 +- .../Assets/Prefabs/Painting/Workspace.prefab | 3 +- .../Assets/Scenes/SampleScene.unity | 154 +++++++++----- .../Assets/Scripts/BrushToolState.cs | 102 ++++++++- .../Scripts/BucketColorPaletteOpener.cs | 41 +--- .../Assets/Scripts/PaintableSurfaceRT.cs | 195 ++++++------------ .../Assets/Scripts/SharedBrushSettings.cs | 88 ++++++++ .../Assets/Scripts/UI/ColorPicker.cs | 62 +++++- .../Assets/Scripts/XRPainterRayInput.cs | 27 ++- code/VR Art Gallery/VR Art Gallery.slnx | 17 ++ 11 files changed, 443 insertions(+), 252 deletions(-) create mode 100644 code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs create mode 100644 code/VR Art Gallery/VR Art Gallery.slnx diff --git a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat index 69c539f..2ba7114 100644 --- a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat +++ b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat @@ -120,8 +120,8 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BrushColor: {r: 0, g: 0.5028572, b: 1, a: 1} - - _BrushParams: {r: 0.474403, g: 0.29732203, b: 0.0589, a: 1} + - _BrushColor: {r: 0.7075472, g: 0.15686187, b: 0.15686187, a: 1} + - _BrushParams: {r: 0.68767834, g: 0.03140307, b: 0.06, a: 0.067} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab b/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab index d8be90b..1b93ba9 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab @@ -179,7 +179,7 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 + m_PresetInfoIsWorld: 1 --- !u!114 &724628327460895123 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab index 24fc2ff..37cf337 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab @@ -214,7 +214,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject - GlobalObjectIdHash: 1902360318 + GlobalObjectIdHash: 425912234 InScenePlacedSourceGlobalObjectIdHash: 0 DeferredDespawnTick: 0 Ownership: 1 @@ -408,6 +408,7 @@ MonoBehaviour: pickerTitle: Colour Picker useAlpha: 0 targetBrush: {fileID: 0} + brushInteractor: {fileID: 0} toggleDebounceSeconds: 0.15 --- !u!114 &1169390836969415157 MonoBehaviour: diff --git a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity index ffff233..fce5d1f 100644 --- a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity +++ b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity @@ -509,19 +509,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948656982667568, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -573,19 +573,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 304 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 440948657680231979, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_SizeDelta.x @@ -661,19 +661,19 @@ PrefabInstance: objectReference: {fileID: 1236124148} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 688733257617836063, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -749,19 +749,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1019785956489932727, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -957,35 +957,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1643146213795589592, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1301,19 +1301,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3072670056012009008, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1525,19 +1525,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4422127295404337792, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_Spacing.x @@ -1629,19 +1629,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 50 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5124595908052133201, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2133,19 +2133,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 20 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7807438087691688251, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2197,19 +2197,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 15 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8126797845790104188, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2365,35 +2365,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 50 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 50 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: -12 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8694544668885805580, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2845,7 +2845,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &238601782 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7874,6 +7874,53 @@ MonoBehaviour: objectsToEnableOnline: [] objectsToEnableOffline: - {fileID: 8374908807138913193} +--- !u!1 &1985644496 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1985644498} + - component: {fileID: 1985644497} + m_Layer: 0 + m_Name: SharedBrushState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1985644497 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985644496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6757e651e07ea4e11bf59098ede0940e, type: 3} + m_Name: + m_EditorClassIdentifier: Scripts::SharedBrushSettings + currentColor: {r: 0, g: 0, b: 0, a: 1} + currentRadius: 0.03 + currentHardness: 0.7 +--- !u!4 &1985644498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985644496} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.92543, y: 0.09263, z: -10.24183} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2012822840 GameObject: m_ObjectHideFlags: 0 @@ -11062,3 +11109,4 @@ SceneRoots: - {fileID: 238601783} - {fileID: 1917325039} - {fileID: 828719155} + - {fileID: 1985644498} diff --git a/code/VR Art Gallery/Assets/Scripts/BrushToolState.cs b/code/VR Art Gallery/Assets/Scripts/BrushToolState.cs index dcb80a9..2ca4f47 100644 --- a/code/VR Art Gallery/Assets/Scripts/BrushToolState.cs +++ b/code/VR Art Gallery/Assets/Scripts/BrushToolState.cs @@ -25,7 +25,7 @@ public class BrushToolState : MonoBehaviour Color.magenta }; - private int currentPresetIndex = 0; + [SerializeField] private int currentPresetIndex = 0; public event Action OnColorChanged; @@ -41,11 +41,31 @@ private void Awake() ApplyPreviewColor(selectedColor); } + private void OnEnable() + { + if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.RegisterBrush(this); + } + + private void Start(){} + + private void OnDisable() + { + if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.UnregisterBrush(this); + } + public void SetColor(Color c) { - selectedColor = c; - ApplyPreviewColor(c); - OnColorChanged?.Invoke(c); + UpdatePresetIndexFromColor(c); + + if (SharedBrushSettings.Instance != null) + { + SharedBrushSettings.Instance.SetColor(c); + return; + } + + ApplyLocalColor(c); } public void SetColorByIndex(int index) @@ -79,20 +99,51 @@ public void PreviousPresetColor() SetColor(presetColors[currentPresetIndex]); } + public void SetRadius(float value) + { + value = Mathf.Clamp(value, 0.001f, 0.25f); + + if (SharedBrushSettings.Instance != null) + { + SharedBrushSettings.Instance.SetRadius(value); + return; + } + + radius = value; + } + + public void SetHardness(float value) + { + value = Mathf.Clamp01(value); + + if (SharedBrushSettings.Instance != null) + { + SharedBrushSettings.Instance.SetHardness(value); + return; + } + + hardness = value; + } + public void SetColorFromHtml(string html) { if (ColorUtility.TryParseHtmlString(html, out Color parsed)) SetColor(parsed); } - public void SetRadius(float value) + public void ApplySharedSettings(Color color, float newRadius, float newHardness) { - radius = Mathf.Clamp(value, 0.001f, 0.25f); - } + bool colorChanged = selectedColor != color; - public void SetHardness(float value) - { - hardness = Mathf.Clamp01(value); + selectedColor = color; + radius = Mathf.Clamp(newRadius, 0.001f, 0.25f); + hardness = Mathf.Clamp01(newHardness); + + UpdatePresetIndexFromColor(color); + ApplyPreviewColor(selectedColor); + + if (colorChanged) + OnColorChanged?.Invoke(selectedColor); } public void SetBlack() => SetColor(Color.black); @@ -104,6 +155,14 @@ public void SetHardness(float value) public void SetCyan() => SetColor(Color.cyan); public void SetMagenta() => SetColor(Color.magenta); + private void ApplyLocalColor(Color c) + { + selectedColor = c; + ApplyPreviewColor(c); + Debug.Log($"[BrushToolState] {name} SetColor -> {c}"); + OnColorChanged?.Invoke(c); + } + private void ApplyPreviewColor(Color c) { if (!brushTipRenderer) return; @@ -112,4 +171,27 @@ private void ApplyPreviewColor(Color c) if (mat.HasProperty(colorProperty)) mat.SetColor(colorProperty, c); } + + private void UpdatePresetIndexFromColor(Color c) + { + if (presetColors == null || presetColors.Length == 0) + return; + + for (int i = 0; i < presetColors.Length; i++) + { + if (ApproximatelySameColor(presetColors[i], c)) + { + currentPresetIndex = i; + return; + } + } + } + + private bool ApproximatelySameColor(Color a, Color b) + { + return Mathf.Abs(a.r - b.r) < 0.001f && + Mathf.Abs(a.g - b.g) < 0.001f && + Mathf.Abs(a.b - b.b) < 0.001f && + Mathf.Abs(a.a - b.a) < 0.001f; + } } \ No newline at end of file diff --git a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs index a3ae559..ed9f368 100644 --- a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs +++ b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs @@ -6,22 +6,14 @@ public class BucketColorPaletteOpener : MonoBehaviour { [Header("UI")] - [Tooltip("Assign the OUTERMOST root of the picker you want to move/show/hide. In your current hierarchy this should be the top-level 'Color Picker' object, not CanvasRoot and not ColorPicker_UI.")] public GameObject colorPickerUI; - - [Tooltip("World-space anchor where the picker should appear.")] public Transform paletteAnchor; [Header("Message")] public string pickerTitle = "Colour Picker"; public bool useAlpha = false; - [Header("Target Brush (optional)")] - [Tooltip("Optional manual brush reference. If left empty, the script will find the first BrushToolState in the scene.")] - public BrushToolState targetBrush; - [Header("Input")] - [Tooltip("Prevents select/activate from double-toggling on the same click.")] [Range(0.05f, 0.5f)] public float toggleDebounceSeconds = 0.15f; @@ -33,10 +25,8 @@ public class BucketColorPaletteOpener : MonoBehaviour void Awake() { simpleInteractable = GetComponent(); - CachePicker(); - // Start hidden. if (colorPickerUI != null) colorPickerUI.SetActive(false); } @@ -47,9 +37,6 @@ void OnEnable() { simpleInteractable.hoverEntered.AddListener(OnHoverEntered); simpleInteractable.selectEntered.AddListener(OnSelected); - - // Keep this only if you really need Activate separately. - // Debounce below prevents double toggles if both fire. simpleInteractable.activated.AddListener(OnActivated); } } @@ -104,7 +91,6 @@ private void ToggleOrShowPalette() return; } - // Close if already open. if (IsPaletteVisible()) { ClosePalette(); @@ -120,7 +106,6 @@ private void ToggleOrShowPalette() private IEnumerator OpenPaletteRoutine() { - // Move the OUTER ROOT before showing it. if (paletteAnchor != null) { colorPickerUI.transform.position = paletteAnchor.position; @@ -131,13 +116,9 @@ private IEnumerator OpenPaletteRoutine() Debug.LogWarning("[Bucket] paletteAnchor is null"); } - // IMPORTANT: - // Enable the OUTER ROOT first, otherwise the child picker can be active - // but still invisible because the parent hierarchy is disabled. if (!colorPickerUI.activeSelf) colorPickerUI.SetActive(true); - // Let Awake/OnEnable run on the newly-enabled hierarchy. yield return null; CachePicker(); @@ -150,38 +131,26 @@ private IEnumerator OpenPaletteRoutine() yield break; } - // Make sure the actual picker GameObject itself is active too. if (!cachedPicker.gameObject.activeSelf) cachedPicker.gameObject.SetActive(true); - BrushToolState brush = targetBrush; - if (brush == null) - brush = FindFirstObjectByType(); - - if (brush == null) + if (SharedBrushSettings.Instance == null) { - Debug.LogWarning("[Bucket] No BrushToolState found in scene"); + Debug.LogWarning("[Bucket] SharedBrushSettings.Instance is null"); colorPickerUI.SetActive(false); openRoutine = null; yield break; } - bool opened = ColorPicker.OpenForBrush( - brush, + bool opened = ColorPicker.OpenForSharedSettings( pickerTitle, useAlpha, - c => { }, // optional live callback - c => { } // optional final callback + c => { }, + c => { } ); Debug.Log("[Bucket] Palette open requested = " + opened); - Debug.Log("[Bucket] Root activeSelf = " + colorPickerUI.activeSelf); - Debug.Log("[Bucket] Root activeInHierarchy = " + colorPickerUI.activeInHierarchy); - Debug.Log("[Bucket] Picker object = " + cachedPicker.gameObject.name); - Debug.Log("[Bucket] Picker activeSelf = " + cachedPicker.gameObject.activeSelf); - Debug.Log("[Bucket] Picker activeInHierarchy = " + cachedPicker.gameObject.activeInHierarchy); - // If the static API says it didn't open, hide the root again. if (!opened) colorPickerUI.SetActive(false); diff --git a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs index 916d876..4c2c14d 100644 --- a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs +++ b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs @@ -1,15 +1,16 @@ using UnityEngine; using System.IO; using System.Collections; + [DisallowMultipleComponent] [RequireComponent(typeof(Renderer))] public class PaintableSurfaceRT : MonoBehaviour { public enum SurfaceMode { - DisplayOnly, // show whatever background is set, ignore painting input - DrawOnBlank, // clear canvas and allow drawing - DrawOverImage // show background image and allow drawing over it + DisplayOnly, + DrawOnBlank, + DrawOverImage } [SerializeField] bool forceUniqueMaterialInstance = true; @@ -17,7 +18,6 @@ public enum SurfaceMode Material _displayMat; - [Header("Mode")] public SurfaceMode mode = SurfaceMode.DisplayOnly; @@ -26,11 +26,8 @@ public enum SurfaceMode public Color clearColor = Color.magenta; [Header("Brush")] - public Material brushBlitMaterial; // Material using shader "Hidden/BrushBlit" - public Texture2D brushMask; // optional (soft circle mask) - [Range(0.001f, 0.25f)] public float radius = 0.03f; - [Range(0f, 1f)] public float hardness = 0.7f; - public Color brushColor = Color.black; + public Material brushBlitMaterial; + public Texture2D brushMask; [Header("Target")] public Renderer targetRenderer; @@ -46,13 +43,10 @@ public enum SurfaceMode static readonly int BrushTex = Shader.PropertyToID("_BrushTex"); static readonly int BrushColorID = Shader.PropertyToID("_BrushColor"); static readonly int BrushParams = Shader.PropertyToID("_BrushParams"); - static readonly int BaseMapST = Shader.PropertyToID("_BaseMap_ST"); // xy=tiling, zw=offset - static readonly int MainTexST = Shader.PropertyToID("_MainTex_ST"); - [Header("Autosave")] public bool enableAutoSave = true; - public float autoSaveInterval = 10f; // seconds, tunable in Inspector + public float autoSaveInterval = 10f; float _autoSaveTimer; @@ -71,22 +65,19 @@ void Update() public void Awake() { - //Debug.LogError($"[PaintableSurfaceRT] AWAKE on {name}, active={gameObject.activeInHierarchy}", this); - if (!targetRenderer) targetRenderer = GetComponent(); _mpb = new MaterialPropertyBlock(); if (forceUniqueMaterialInstance) { _displayMat = new Material(targetRenderer.sharedMaterial); - targetRenderer.material = _displayMat; // instance, not shared + targetRenderer.material = _displayMat; } else { _displayMat = targetRenderer.material; } - _a = CreateRT(resolution); _b = CreateRT(resolution); @@ -95,93 +86,6 @@ public void Awake() ApplyToRenderer(_a); } - - void Start() - { - var mf = GetComponent(); - if (mf && mf.sharedMesh) - { - var uvs = mf.sharedMesh.uv; - Vector2 min = new Vector2(float.MaxValue, float.MaxValue); - Vector2 max = new Vector2(float.MinValue, float.MinValue); - - foreach (var uv in uvs) - { - min.x = Mathf.Min(min.x, uv.x); - min.y = Mathf.Min(min.y, uv.y); - max.x = Mathf.Max(max.x, uv.x); - max.y = Mathf.Max(max.y, uv.y); - } - - Debug.Log($"[PaintableSurfaceRT] UV range: min={min}, max={max}", this); - } - } - - public string SaveCanvasToPNG(string fileName, string directoryOverride = null) - { - if (_a == null) - throw new System.InvalidOperationException("No RenderTexture to save."); - - RenderTexture currentRT = _a; - - RenderTexture previous = RenderTexture.active; - RenderTexture.active = currentRT; - - Texture2D tex = new Texture2D(currentRT.width, currentRT.height, TextureFormat.RGBA32, false); - tex.ReadPixels(new Rect(0, 0, currentRT.width, currentRT.height), 0, 0); - tex.Apply(); - - RenderTexture.active = previous; - - byte[] pngBytes = tex.EncodeToPNG(); - DestroyImmediate(tex); - - string dir = directoryOverride ?? Path.Combine(Application.persistentDataPath, "Paintings"); - if (!Directory.Exists(dir)) - Directory.CreateDirectory(dir); - - string path = Path.Combine(dir, fileName); - File.WriteAllBytes(path, pngBytes); - - Debug.Log($"[PaintableSurfaceRT] Saved painting to {path}", this); - return path; - } - - public bool LoadCanvasFromPNG(string filePath) - { - if (!File.Exists(filePath)) - { - Debug.Log($"[PaintableSurfaceRT] File not found: {filePath}", this); - return false; - } - - byte[] bytes = File.ReadAllBytes(filePath); - - Texture2D tex = new Texture2D(2, 2, TextureFormat.RGBA32, false); - if (!tex.LoadImage(bytes)) - { - Debug.Log($"[PaintableSurfaceRT] Failed to decode PNG: {filePath}", this); - DestroyImmediate(tex); - return false; - } - - // Seed both ping-pong buffers with the loaded image - Graphics.Blit(tex, _a); - Graphics.Blit(tex, _b); - - ApplyToRenderer(_a); - DestroyImmediate(tex); - - Debug.Log($"[PaintableSurfaceRT] Loaded painting from {filePath}", this); - return true; - } - - static string GetPath(Transform t) - { - var p = t.name; - while (t.parent != null) { t = t.parent; p = t.name + "/" + p; } - return p; - } RenderTexture CreateRT(int size) { @@ -210,24 +114,16 @@ void ApplyToRenderer(Texture tex) _displayMat.SetTextureOffset("_BaseMap", Vector2.zero); _displayMat.SetColor(ColorId, Color.white); _displayMat.SetColor(BaseColorId, Color.white); - - // No property block needed since we're using instanced material } - - - // --- Public API for your existing "display image" flow --- - public void SetBackground(Texture2D bg) { if (!bg) { - // no background => blank ClearCanvas(); return; } - // seed both buffers from the image so ping-pong starts identical Graphics.Blit(bg, _a); Graphics.Blit(bg, _b); ApplyToRenderer(_a); @@ -245,26 +141,9 @@ public void SetMode(SurfaceMode newMode, Texture2D optionalBackground = null) mode = newMode; if (mode == SurfaceMode.DrawOnBlank) - { ClearCanvas(); - } else if (mode == SurfaceMode.DrawOverImage) - { SetBackground(optionalBackground); - } - // DisplayOnly: keep whatever is currently on the RT - } - - // --- Painting entry point (call from your VR ray/brush script) --- - - public bool TryPaintAt(Vector2 uv) - { - return PaintAt(uv, GetCurrentBrushState()); - } - - public BrushState GetCurrentBrushState() - { - return new BrushState(brushColor, radius, hardness); } public bool PaintAt(Vector2 uv, BrushState brush) @@ -288,4 +167,60 @@ void LateUpdate() if (reapplyInLateUpdate && _a != null) ApplyToRenderer(_a); } -} + + public string SaveCanvasToPNG(string fileName, string directoryOverride = null) + { + if (_a == null) + throw new System.InvalidOperationException("No RenderTexture to save."); + + RenderTexture previous = RenderTexture.active; + RenderTexture.active = _a; + + Texture2D tex = new Texture2D(_a.width, _a.height, TextureFormat.RGBA32, false); + tex.ReadPixels(new Rect(0, 0, _a.width, _a.height), 0, 0); + tex.Apply(); + + RenderTexture.active = previous; + + byte[] pngBytes = tex.EncodeToPNG(); + DestroyImmediate(tex); + + string dir = directoryOverride ?? Path.Combine(Application.persistentDataPath, "Paintings"); + if (!Directory.Exists(dir)) + Directory.CreateDirectory(dir); + + string path = Path.Combine(dir, fileName); + File.WriteAllBytes(path, pngBytes); + + Debug.Log($"[PaintableSurfaceRT] Saved painting to {path}", this); + return path; + } + + public bool LoadCanvasFromPNG(string filePath) + { + if (!File.Exists(filePath)) + { + Debug.Log($"[PaintableSurfaceRT] File not found: {filePath}", this); + return false; + } + + byte[] bytes = File.ReadAllBytes(filePath); + + Texture2D tex = new Texture2D(2, 2, TextureFormat.RGBA32, false); + if (!tex.LoadImage(bytes)) + { + Debug.Log($"[PaintableSurfaceRT] Failed to decode PNG: {filePath}", this); + DestroyImmediate(tex); + return false; + } + + Graphics.Blit(tex, _a); + Graphics.Blit(tex, _b); + + ApplyToRenderer(_a); + DestroyImmediate(tex); + + Debug.Log($"[PaintableSurfaceRT] Loaded painting from {filePath}", this); + return true; + } +} \ No newline at end of file diff --git a/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs new file mode 100644 index 0000000..b87a0c3 --- /dev/null +++ b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using UnityEngine; + +public class SharedBrushSettings : MonoBehaviour +{ + public static SharedBrushSettings Instance { get; private set; } + + [Header("Shared Defaults")] + [SerializeField] private Color currentColor = Color.black; + [SerializeField, Range(0.001f, 0.25f)] private float currentRadius = 0.03f; + [SerializeField, Range(0f, 1f)] private float currentHardness = 0.7f; + + private readonly List registeredBrushes = new(); + + public Color CurrentColor => currentColor; + public float CurrentRadius => currentRadius; + public float CurrentHardness => currentHardness; + + private void Awake() + { + if (Instance != null && Instance != this) + { + Destroy(gameObject); + return; + } + + Instance = this; + } + + public void RegisterBrush(BrushToolState brush) + { + if (brush == null || registeredBrushes.Contains(brush)) + return; + + registeredBrushes.Add(brush); + ApplyToBrush(brush); + } + + public void UnregisterBrush(BrushToolState brush) + { + if (brush == null) + return; + + registeredBrushes.Remove(brush); + } + + public void SetColor(Color color) + { + currentColor = color; + ApplyToAllBrushes(); + } + + public void SetRadius(float radius) + { + currentRadius = Mathf.Clamp(radius, 0.001f, 0.25f); + ApplyToAllBrushes(); + } + + public void SetHardness(float hardness) + { + currentHardness = Mathf.Clamp01(hardness); + ApplyToAllBrushes(); + } + + public BrushState GetBrushState() + { + return new BrushState(currentColor, currentRadius, currentHardness); + } + + private void ApplyToAllBrushes() + { + for (int i = registeredBrushes.Count - 1; i >= 0; i--) + { + if (registeredBrushes[i] == null) + { + registeredBrushes.RemoveAt(i); + continue; + } + + ApplyToBrush(registeredBrushes[i]); + } + } + + private void ApplyToBrush(BrushToolState brush) + { + brush.ApplySharedSettings(currentColor, currentRadius, currentHardness); + } +} \ No newline at end of file diff --git a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs index 666cd3c..5daecdc 100644 --- a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs +++ b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs @@ -73,6 +73,48 @@ private void OnDestroy() instance = null; } + public static bool OpenForSharedSettings( + string message = "Colour Picker", + bool useAlpha = false, + ColorEvent onColorChanged = null, + ColorEvent onColorSelected = null) + { + if (SharedBrushSettings.Instance == null) + { + Debug.LogWarning("[ColorPicker] SharedBrushSettings.Instance is null."); + return false; + } + + if (instance == null) + { + instance = FindFirstObjectByType(FindObjectsInactive.Include); + + if (instance == null) + { + Debug.LogError("[ColorPicker] No active ColorPicker instance in scene."); + return false; + } + } + + instance.targetBrush = null; + + return Create( + SharedBrushSettings.Instance.CurrentColor, + message, + c => + { + SharedBrushSettings.Instance.SetColor(c); + onColorChanged?.Invoke(c); + }, + c => + { + SharedBrushSettings.Instance.SetColor(c); + onColorSelected?.Invoke(c); + }, + useAlpha + ); + } + /// /// Open picker for a specific brush. /// @@ -249,6 +291,8 @@ private void RecalculateMenu(bool recalculateHSV) // live update brush if (targetBrush != null) targetBrush.SetColor(modifiedColor); + else if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.SetColor(modifiedColor); interact = true; } @@ -385,8 +429,13 @@ public static void Cancel() { modifiedColor = originalColor; - if (instance != null && instance.targetBrush != null) - instance.targetBrush.SetColor(originalColor); + if (instance != null) + { + if (instance.targetBrush != null) + instance.targetBrush.SetColor(originalColor); + else if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.SetColor(originalColor); + } Done(); } @@ -398,8 +447,13 @@ public static void Done() onCC?.Invoke(modifiedColor); onCS?.Invoke(modifiedColor); - if (instance != null && instance.targetBrush != null) - instance.targetBrush.SetColor(modifiedColor); + if (instance != null) + { + if (instance.targetBrush != null) + instance.targetBrush.SetColor(modifiedColor); + else if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.SetColor(modifiedColor); + } if (instance != null) { diff --git a/code/VR Art Gallery/Assets/Scripts/XRPainterRayInput.cs b/code/VR Art Gallery/Assets/Scripts/XRPainterRayInput.cs index e7579ea..58c435e 100644 --- a/code/VR Art Gallery/Assets/Scripts/XRPainterRayInput.cs +++ b/code/VR Art Gallery/Assets/Scripts/XRPainterRayInput.cs @@ -24,7 +24,6 @@ public class XRPainterRayInput : MonoBehaviour Vector2 _lastUV; bool _hasLast; - // --- Stroke state --- CanvasStrokeSyncNgo _activeSync; ulong _activeStrokeId; bool _strokeOpen; @@ -43,7 +42,7 @@ void OnDisable() if (drawAction.action != null) drawAction.action.Disable(); #endif - EndStroke(); // clean up if disabled mid-stroke + EndStroke(); } BrushToolState GetHeldBrushToolState() @@ -80,6 +79,7 @@ bool IsDrawing() if (mouseFallback && Mouse.current != null) return Mouse.current.leftButton.isPressed; + return false; #else return false; @@ -121,30 +121,28 @@ void Update() return; } - // Get the sync component – it lives on the same GameObject as PaintableSurfaceRT + BrushState brush = brushToolState.CurrentBrushState; + var sync = surface.GetComponent(); if (!sync) { - // Fallback: no network sync present, paint locally as before - surface.TryPaintAt(hit.textureCoord); + surface.PaintAt(hit.textureCoord, brush); _lastUV = hit.textureCoord; _hasLast = true; return; } - // Begin a new stroke if we just started painting or switched canvas if (!_strokeOpen || _activeSync != sync) { - EndStroke(); // close previous stroke if we switched canvas + EndStroke(); _activeSync = sync; _activeStrokeId = sync.CreateLocalStrokeId(); - sync.LocalStrokeBegin(_activeStrokeId, sync.Surface.GetCurrentBrushState()); + sync.LocalStrokeBegin(_activeStrokeId, brush); _strokeOpen = true; _hasLast = false; } Vector2 uv = hit.textureCoord; - BrushState brush = brushToolState.CurrentBrushState; if (_hasLast) { @@ -152,21 +150,21 @@ void Update() float step = Mathf.Max(0.0005f, brush.radius * 0.5f); int steps = Mathf.Clamp(Mathf.CeilToInt(dist / step), 1, 64); - // Keep local painting consistent with synced points for visual feedback. ushort[] points = new ushort[steps * 2]; for (int s = 1; s <= steps; s++) { Vector2 p = Vector2.Lerp(_lastUV, uv, s / (float)steps); points[(s - 1) * 2] = CanvasStrokeSyncNgo.EncodeAxis(p.x); points[(s - 1) * 2 + 1] = CanvasStrokeSyncNgo.EncodeAxis(p.y); - surface.TryPaintAt(p); + + surface.PaintAt(p, brush); } sync.LocalStrokePoints(_activeStrokeId, points); } else { - surface.TryPaintAt(uv); + surface.PaintAt(uv, brush); sync.LocalStrokePoints(_activeStrokeId, new ushort[] { CanvasStrokeSyncNgo.EncodeAxis(uv.x), @@ -181,11 +179,10 @@ void Update() void EndStroke() { if (_strokeOpen && _activeSync != null) - { _activeSync.LocalStrokeEnd(_activeStrokeId); - } + _strokeOpen = false; _activeSync = null; _hasLast = false; } -} +} \ No newline at end of file diff --git a/code/VR Art Gallery/VR Art Gallery.slnx b/code/VR Art Gallery/VR Art Gallery.slnx new file mode 100644 index 0000000..7b4c26b --- /dev/null +++ b/code/VR Art Gallery/VR Art Gallery.slnx @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + From db3ec0db745cff58f838122bd4cdfa8ce8aa6d8d Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 10 Apr 2026 15:20:55 +0100 Subject: [PATCH 2/5] Test2 --- .../SampleSceneAssets.meta | 8 - .../ColorPickerExampleScript.cs | 26 - .../SampleSceneAssets/Example.unity | 6173 ----------------- .../GradientPickerExample.cs | 32 - .../Scripts/GradientPicker.cs | 395 -- .../Assets/Materials/M_BrushBlit.mat | 2 +- .../Scripts/BucketColorPaletteOpener.cs | 19 +- .../Assets/Scripts/UI/ColorPicker.cs | 310 +- code/VR Art Gallery/VR Art Gallery.slnx | 2 +- 9 files changed, 135 insertions(+), 6832 deletions(-) delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets.meta delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets.meta b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets.meta deleted file mode 100644 index 149e88f..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e3a85a5b114bab34cb95775689a2fae2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs deleted file mode 100644 index 71374fc..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class ColorPickerExampleScript : MonoBehaviour -{ - private Renderer r; - void Start() - { - r = GetComponent(); - r.sharedMaterial = r.material; - } - public void ChooseColorButtonClick() - { - ColorPicker.Create(r.sharedMaterial.color, "Choose the cube's color!", SetColor, ColorFinished, true); - } - private void SetColor(Color currentColor) - { - r.sharedMaterial.color = currentColor; - } - - private void ColorFinished(Color finishedColor) - { - Debug.Log("You chose the color " + ColorUtility.ToHtmlStringRGBA(finishedColor)); - } -} diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity deleted file mode 100644 index 75fd7fb..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity +++ /dev/null @@ -1,6173 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 500 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 2 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &27475487 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 27475490} - - component: {fileID: 27475489} - - component: {fileID: 27475488} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &27475488 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 27475487} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &27475489 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 27475487} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!4 &27475490 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 27475487} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!224 &302394069 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - m_PrefabInstance: {fileID: 1241687059} - m_PrefabAsset: {fileID: 0} ---- !u!1 &557431865 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 557431866} - - component: {fileID: 557431869} - - component: {fileID: 557431868} - - component: {fileID: 557431867} - m_Layer: 5 - m_Name: Button (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &557431866 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 557431865} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1432264093} - m_Father: {fileID: 2012025931} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 400, y: 250} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &557431867 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 557431865} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 557431868} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1346005927} - m_MethodName: ChooseGradientButtonClick - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &557431868 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 557431865} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &557431869 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 557431865} - m_CullTransparentMesh: 0 ---- !u!1 &599227331 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 599227332} - - component: {fileID: 599227334} - - component: {fileID: 599227333} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &599227332 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 599227331} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 762190818} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &599227333 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 599227331} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Choose Color ---- !u!222 &599227334 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 599227331} - m_CullTransparentMesh: 0 ---- !u!1 &705507993 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 705507995} - - component: {fileID: 705507994} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &705507994 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 1 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &705507995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &762190817 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 762190818} - - component: {fileID: 762190821} - - component: {fileID: 762190820} - - component: {fileID: 762190819} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &762190818 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 762190817} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 599227332} - m_Father: {fileID: 2012025931} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -400, y: 250} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &762190819 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 762190817} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 762190820} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1832772226} - m_MethodName: ChooseColorButtonClick - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &762190820 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 762190817} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &762190821 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 762190817} - m_CullTransparentMesh: 0 ---- !u!1001 &775696948 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2012025931} - m_Modifications: - - target: {fileID: 1698156303014076842, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156303014076842, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156303014076842, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156303557720017, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156303557720017, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156303557720017, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304182097884, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304182097884, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304182097884, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304476317478, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304476317478, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1698156304476317478, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357786, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_Name - value: ColorPicker - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_SizeDelta.x - value: 400 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_SizeDelta.y - value: 200 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2645092813429622975, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, type: 3} ---- !u!1 &963194225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 963194228} - - component: {fileID: 963194227} - - component: {fileID: 963194226} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 ---- !u!20 &963194227 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &963194228 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1171373115 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1171373118} - - component: {fileID: 1171373117} - - component: {fileID: 1171373116} - m_Layer: 0 - m_Name: Particle System - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!199 &1171373116 -ParticleSystemRenderer: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1171373115} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10308, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_RenderMode: 0 - m_SortMode: 0 - m_MinParticleSize: 0 - m_MaxParticleSize: 0.5 - m_CameraVelocityScale: 0 - m_VelocityScale: 0 - m_LengthScale: 2 - m_SortingFudge: 0 - m_NormalDirection: 1 - m_ShadowBias: 0 - m_RenderAlignment: 0 - m_Pivot: {x: 0, y: 0, z: 0} - m_Flip: {x: 0, y: 0, z: 0} - m_UseCustomVertexStreams: 0 - m_EnableGPUInstancing: 1 - m_ApplyActiveColorSpace: 1 - m_AllowRoll: 1 - m_VertexStreams: 00010304 - m_Mesh: {fileID: 0} - m_Mesh1: {fileID: 0} - m_Mesh2: {fileID: 0} - m_Mesh3: {fileID: 0} - m_MaskInteraction: 0 ---- !u!198 &1171373117 -ParticleSystem: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1171373115} - serializedVersion: 6 - lengthInSec: 5 - simulationSpeed: 1 - stopAction: 0 - cullingMode: 0 - ringBufferMode: 0 - ringBufferLoopRange: {x: 0, y: 1} - looping: 1 - prewarm: 0 - playOnAwake: 1 - useUnscaledTime: 0 - autoRandomSeed: 1 - useRigidbodyForVelocity: 1 - startDelay: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - moveWithTransform: 0 - moveWithCustomTransform: {fileID: 0} - scalingMode: 1 - randomSeed: 0 - InitialModule: - serializedVersion: 3 - enabled: 1 - startLifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 5 - minScalar: 5 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startColor: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - startSize: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startSizeZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotationY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startRotation: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - randomizeRotationDirection: 0 - maxNumParticles: 1000 - size3D: 0 - rotation3D: 0 - gravityModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ShapeModule: - serializedVersion: 6 - enabled: 1 - type: 4 - angle: 25 - length: 5 - boxThickness: {x: 0, y: 0, z: 0} - radiusThickness: 1 - donutRadius: 0.2 - m_Position: {x: 0, y: 0, z: 0} - m_Rotation: {x: 0, y: 0, z: 0} - m_Scale: {x: 1, y: 1, z: 1} - placementMode: 0 - m_MeshMaterialIndex: 0 - m_MeshNormalOffset: 0 - m_MeshSpawn: - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Mesh: {fileID: 0} - m_MeshRenderer: {fileID: 0} - m_SkinnedMeshRenderer: {fileID: 0} - m_Sprite: {fileID: 0} - m_SpriteRenderer: {fileID: 0} - m_UseMeshMaterialIndex: 0 - m_UseMeshColors: 1 - alignToDirection: 0 - m_Texture: {fileID: 0} - m_TextureClipChannel: 3 - m_TextureClipThreshold: 0 - m_TextureUVChannel: 0 - m_TextureColorAffectsParticles: 1 - m_TextureAlphaAffectsParticles: 1 - m_TextureBilinearFiltering: 0 - randomDirectionAmount: 0 - sphericalDirectionAmount: 0 - randomPositionAmount: 0 - radius: - value: 1 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - arc: - value: 360 - mode: 0 - spread: 0 - speed: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - EmissionModule: - enabled: 1 - serializedVersion: 4 - rateOverTime: - serializedVersion: 2 - minMaxState: 0 - scalar: 10 - minScalar: 10 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rateOverDistance: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_BurstCount: 0 - m_Bursts: [] - SizeModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - RotationModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0.7853982 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - ColorModule: - enabled: 0 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - UVModule: - serializedVersion: 2 - enabled: 0 - mode: 0 - timeMode: 0 - fps: 30 - frameOverTime: - serializedVersion: 2 - minMaxState: 1 - scalar: 0.9999 - minScalar: 0.9999 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - startFrame: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedRange: {x: 0, y: 1} - tilesX: 1 - tilesY: 1 - animationType: 0 - rowIndex: 0 - cycles: 1 - uvChannelMask: -1 - rowMode: 1 - sprites: - - sprite: {fileID: 0} - flipU: 0 - flipV: 0 - VelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalOffsetX: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalOffsetY: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - orbitalOffsetZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - radial: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - speedModifier: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - InheritVelocityModule: - enabled: 0 - m_Mode: 0 - m_Curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - ForceModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - inWorldSpace: 0 - randomizePerFrame: 0 - ExternalForcesModule: - serializedVersion: 2 - enabled: 0 - multiplierCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - influenceFilter: 0 - influenceMask: - serializedVersion: 2 - m_Bits: 4294967295 - influenceList: [] - ClampVelocityModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - magnitude: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxis: 0 - inWorldSpace: 0 - multiplyDragByParticleSize: 1 - multiplyDragByParticleVelocity: 1 - dampen: 0 - drag: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - NoiseModule: - enabled: 0 - strength: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthY: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - strengthZ: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - frequency: 0.5 - damping: 1 - octaves: 1 - octaveMultiplier: 0.5 - octaveScale: 2 - quality: 2 - scrollSpeed: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remap: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapY: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapZ: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - remapEnabled: 0 - positionAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - rotationAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - sizeAmount: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - SizeBySpeedModule: - enabled: 0 - curve: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - z: - serializedVersion: 2 - minMaxState: 1 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 1 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 1 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - range: {x: 0, y: 1} - separateAxes: 0 - RotationBySpeedModule: - enabled: 0 - x: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - y: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - curve: - serializedVersion: 2 - minMaxState: 0 - scalar: 0.7853982 - minScalar: 0.7853982 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - separateAxes: 0 - range: {x: 0, y: 1} - ColorBySpeedModule: - enabled: 1 - gradient: - serializedVersion: 2 - minMaxState: 1 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 0.07890496, g: 0.44, b: 0.262, a: 1} - key2: {r: 1, g: 1, b: 1, a: 0} - key3: {r: 1, g: 1, b: 1, a: 0} - key4: {r: 1, g: 1, b: 1, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32189 - ctime2: 65535 - ctime3: 65535 - ctime4: 65535 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - range: {x: 0, y: 1} - CollisionModule: - enabled: 0 - serializedVersion: 3 - type: 0 - collisionMode: 0 - colliderForce: 0 - multiplyColliderForceByParticleSize: 0 - multiplyColliderForceByParticleSpeed: 0 - multiplyColliderForceByCollisionAngle: 1 - plane0: {fileID: 0} - plane1: {fileID: 0} - plane2: {fileID: 0} - plane3: {fileID: 0} - plane4: {fileID: 0} - plane5: {fileID: 0} - m_Dampen: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_Bounce: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - m_EnergyLossOnCollision: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minKillSpeed: 0 - maxKillSpeed: 10000 - radiusScale: 1 - collidesWith: - serializedVersion: 2 - m_Bits: 4294967295 - maxCollisionShapes: 256 - quality: 0 - voxelSize: 0.5 - collisionMessages: 0 - collidesWithDynamic: 1 - interiorCollisions: 0 - TriggerModule: - enabled: 0 - collisionShape0: {fileID: 0} - collisionShape1: {fileID: 0} - collisionShape2: {fileID: 0} - collisionShape3: {fileID: 0} - collisionShape4: {fileID: 0} - collisionShape5: {fileID: 0} - inside: 1 - outside: 0 - enter: 0 - exit: 0 - radiusScale: 1 - SubModule: - serializedVersion: 2 - enabled: 0 - subEmitters: - - serializedVersion: 3 - emitter: {fileID: 0} - type: 0 - properties: 0 - emitProbability: 1 - LightsModule: - enabled: 0 - ratio: 0 - light: {fileID: 0} - randomDistribution: 1 - color: 1 - range: 1 - intensity: 1 - rangeCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - intensityCurve: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - maxLights: 20 - TrailModule: - enabled: 0 - mode: 0 - ratio: 1 - lifetime: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minVertexDistance: 0.2 - textureMode: 0 - ribbonCount: 1 - shadowBias: 0.5 - worldSpace: 0 - dieWithParticles: 1 - sizeAffectsWidth: 1 - sizeAffectsLifetime: 0 - inheritParticleColor: 1 - generateLightingData: 0 - splitSubEmitterRibbons: 0 - attachRibbonsToTransform: 0 - colorOverLifetime: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - widthOverTrail: - serializedVersion: 2 - minMaxState: 0 - scalar: 1 - minScalar: 1 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - colorOverTrail: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - CustomDataModule: - enabled: 0 - mode0: 0 - vectorComponentCount0: 4 - color0: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - colorLabel0: Color - vector0_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_0: X - vector0_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_1: Y - vector0_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_2: Z - vector0_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel0_3: W - mode1: 0 - vectorComponentCount1: 4 - color1: - serializedVersion: 2 - minMaxState: 0 - minColor: {r: 1, g: 1, b: 1, a: 1} - maxColor: {r: 1, g: 1, b: 1, a: 1} - maxGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - minGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - colorLabel1: Color - vector1_0: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_0: X - vector1_1: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_1: Y - vector1_2: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_2: Z - vector1_3: - serializedVersion: 2 - minMaxState: 0 - scalar: 0 - minScalar: 0 - maxCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - minCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - vectorLabel1_3: W ---- !u!4 &1171373118 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1171373115} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 565.0731, y: 350.56454, z: 694.8198} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} ---- !u!1001 &1241687059 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2012025931} - m_Modifications: - - target: {fileID: 6400963023182695771, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_Name - value: GradientPicker - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -100 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_SizeDelta.x - value: 400 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_SizeDelta.y - value: 170 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023182695772, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 6400963023902517340, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6400963024208410545, guid: 93a88c4972fdad34c94d22812609f19e, - type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 93a88c4972fdad34c94d22812609f19e, type: 3} ---- !u!1 &1346005922 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1346005926} - - component: {fileID: 1346005925} - - component: {fileID: 1346005924} - - component: {fileID: 1346005923} - - component: {fileID: 1346005927} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!135 &1346005923 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346005922} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1346005924 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346005922} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &1346005925 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346005922} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1346005926 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346005922} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1346005927 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346005922} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a3df09331f67e70419d45395e39b88c5, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &1432264092 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1432264093} - - component: {fileID: 1432264095} - - component: {fileID: 1432264094} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1432264093 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1432264092} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 557431866} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1432264094 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1432264092} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_RaycastTarget: 1 - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 14 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 10 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: Choose Gradient ---- !u!222 &1432264095 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1432264092} - m_CullTransparentMesh: 0 ---- !u!224 &1437510123 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 2645092812384357787, guid: 8f33aa5f573e8b84c9d1cfc653ca2ac8, - type: 3} - m_PrefabInstance: {fileID: 775696948} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1832772221 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1832772225} - - component: {fileID: 1832772224} - - component: {fileID: 1832772223} - - component: {fileID: 1832772222} - - component: {fileID: 1832772226} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!65 &1832772222 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832772221} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 1, z: 1} - m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1832772223 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832772221} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &1832772224 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832772221} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &1832772225 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832772221} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -5, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1832772226 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1832772221} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f24ee73d747cef4eb3b453d2dc11ba7, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!1 &2012025927 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2012025931} - - component: {fileID: 2012025930} - - component: {fileID: 2012025929} - - component: {fileID: 2012025928} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &2012025928 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2012025927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &2012025929 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2012025927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &2012025930 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2012025927} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &2012025931 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2012025927} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 302394069} - - {fileID: 1437510123} - - {fileID: 762190818} - - {fileID: 557431866} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs deleted file mode 100644 index af2761e..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class GradientPickerExample : MonoBehaviour -{ - private Renderer r; - private Gradient myGradient; - void Start() - { - r = GetComponent(); - r.sharedMaterial = r.material; - myGradient = new Gradient(); - } - private void Update() - { - r.sharedMaterial.color = myGradient.Evaluate(0.5f + Mathf.Sin(Time.time * 2f) * 0.5f); - } - public void ChooseGradientButtonClick() - { - GradientPicker.Create(myGradient, "Choose the sphere's color!", SetGradient, GradientFinished); - } - private void SetGradient(Gradient currentGradient) - { - myGradient = currentGradient; - } - - private void GradientFinished(Gradient finishedGradient) - { - Debug.Log("You chose a Gradient with " + finishedGradient.colorKeys.Length + " Color keys"); - } -} diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs b/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs deleted file mode 100644 index 012570e..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs +++ /dev/null @@ -1,395 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.EventSystems; -using UnityEngine.UI; - -public class GradientPicker : MonoBehaviour -{ - /// - /// Event that gets called by the GradientPicker. - /// - /// received Gradient - public delegate void GradientEvent(Gradient g); - - private static GradientPicker instance; - /// - /// True when the GradientPicker is closed - /// - public static bool done = true; - - - //onGradientChanged Event - private static GradientEvent onGC; - //onGradientSelected Event - private static GradientEvent onGS; - - //Gradient before editing - private static Gradient originalGradient; - //current Gradient - private static Gradient modifiedGradient; - - //key template - private GameObject key; - - private static bool interact; - - - //all these objects only work on Prefab - private InputField positionComponent; - private Image colorComponent; - private Transform alphaComponent; - - private List colorKeyObjects; - private List colorKeys; - private int selectedColorKey; - private List alphaKeyObjects; - private List alphaKeys; - private int selectedAlphaKey; - - private void Awake() - { - instance = this; - key = transform.GetChild(2).gameObject; - positionComponent = transform.parent.GetChild(3).GetComponent(); - colorComponent = transform.parent.GetChild(4).GetComponent(); - alphaComponent = transform.parent.GetChild(5); - transform.parent.gameObject.SetActive(false); - } - /// - /// Creates a new GradiantPicker - /// - /// Color before editing - /// Display message - /// Event that gets called when the gradient gets modified - /// Event that gets called when one of the buttons done or cancel gets pressed - /// False if the instance is already running - public static bool Create(Gradient original, string message, GradientEvent onGradientChanged, GradientEvent onGradientSelected) - { - if (instance is null) - { - Debug.LogError("No Gradientpicker prefab active on 'Start' in scene"); - return false; - } - if (done) - { - done = false; - originalGradient = new Gradient(); - originalGradient.SetKeys(original.colorKeys, original.alphaKeys); - modifiedGradient = new Gradient(); - modifiedGradient.SetKeys(original.colorKeys, original.alphaKeys); - onGC = onGradientChanged; - onGS = onGradientSelected; - instance.transform.parent.gameObject.SetActive(true); - instance.transform.parent.GetChild(0).GetChild(0).GetComponent().text = message; - instance.Setup(); - return true; - } - else - { - Done(); - return false; - } - } - //Setup new GradientPicker - private void Setup() - { - interact = false; - colorKeyObjects = new List(); - colorKeys = new List(); - alphaKeyObjects = new List(); - alphaKeys = new List(); - foreach (GradientColorKey k in originalGradient.colorKeys) - { - CreateColorKey(k); - } - foreach (GradientAlphaKey k in originalGradient.alphaKeys) - { - CreateAlphaKey(k); - } - CalculateTexture(); - interact = true; - } - //creates a ColorKey UI object - private void CreateColorKey(GradientColorKey k) - { - if (colorKeys.Count < 8) - { - Slider s = Instantiate(key, transform.position, new Quaternion(), transform).GetComponent(); - ((RectTransform)s.transform).anchoredPosition = new Vector2(0, -29f); - s.name = "ColorKey"; - s.gameObject.SetActive(true); - s.value = k.time; - s.transform.GetChild(0).GetChild(0).GetChild(0).GetComponent().color = k.color; - colorKeyObjects.Add(s); - colorKeys.Add(k); - ChangeSelectedColorKey(colorKeys.Count - 1); - } - } - //checks if new ColorKey should be created - public void CreateNewColorKey(float time) - { - if (Input.GetMouseButtonDown(0)) - { - interact = false; - CreateColorKey(new GradientColorKey(modifiedGradient.Evaluate(time), time)); - interact = true; - } - } - //creates a AlphaKey UI object - private void CreateAlphaKey(GradientAlphaKey k) - { - if (alphaKeys.Count < 8) - { - Slider s = Instantiate(key, transform.position, new Quaternion(), transform).GetComponent(); - ((RectTransform)s.transform).anchoredPosition = new Vector2(0, 25f); - s.transform.GetChild(0).GetChild(0).rotation = new Quaternion(); - s.name = "AlphaKey"; - s.gameObject.SetActive(true); - s.value = k.time; - s.transform.GetChild(0).GetChild(0).GetChild(0).GetComponent().color = new Color(k.alpha, k.alpha, k.alpha, 1f); - alphaKeyObjects.Add(s); - alphaKeys.Add(k); - ChangeSelectedAlphaKey(alphaKeys.Count - 1); - } - } - //checks if new AlphaKey should be created - public void CreateNewAlphaKey(float time) - { - if (Input.GetMouseButtonDown(0)) - { - interact = false; - CreateAlphaKey(new GradientAlphaKey(modifiedGradient.Evaluate(time).a, time)); - interact = true; - } - } - - private void CalculateTexture() - { - Color[] g = new Color[325]; - for (int i = 0; i < g.Length; i++) - { - g[i] = modifiedGradient.Evaluate(i / (float)g.Length); - } - Texture2D tex = new Texture2D(g.Length, 1) - { - wrapMode = TextureWrapMode.Clamp, - filterMode = FilterMode.Bilinear - }; - tex.SetPixels(g); - tex.Apply(); - GetComponent().texture = tex; - onGC?.Invoke(modifiedGradient); - } - //accessed by alpha Slider - public void SetAlpha(float value) - { - if (interact) - { - alphaKeys[selectedAlphaKey] = new GradientAlphaKey(value, alphaKeys[selectedAlphaKey].time); - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - alphaComponent.GetChild(4).GetComponent().text = Mathf.RoundToInt(value * 255f).ToString(); - alphaKeyObjects[selectedAlphaKey].transform.GetChild(0).GetChild(0).GetChild(0).GetComponent().color = new Color(value, value, value, 1f); - } - } - //accessed by alpha InputField - public void SetAlpha(string value) - { - alphaComponent.GetComponent().value = Mathf.Clamp(int.Parse(value), 0, 255) / 255f; - CalculateTexture(); - } - - private void ChangeSelectedColorKey(int value) - { - if (colorKeyObjects.Count() > selectedColorKey) - { - colorKeyObjects[selectedColorKey].transform.GetChild(0).GetChild(0).GetComponent().color = Color.gray; - } - if (alphaKeyObjects.Count() > 0) - { - alphaKeyObjects[selectedAlphaKey].transform.GetChild(0).GetChild(0).GetComponent().color = Color.gray; - } - colorKeyObjects[value].transform.GetChild(0).GetChild(0).GetComponent().color = Color.green; - if (selectedColorKey != value && !ColorPicker.done) - { - ColorPicker.Done(); - } - selectedColorKey = value; - colorKeyObjects[value].Select(); - } - - private void ChangeSelectedAlphaKey(int value) - { - if (alphaKeyObjects.Count > selectedAlphaKey) - { - alphaKeyObjects[selectedAlphaKey].transform.GetChild(0).GetChild(0).GetComponent().color = Color.gray; - } - if (colorKeyObjects.Count > 0) - { - colorKeyObjects[selectedColorKey].transform.GetChild(0).GetChild(0).GetComponent().color = Color.gray; - } - alphaKeyObjects[value].transform.GetChild(0).GetChild(0).GetComponent().color = Color.green; - selectedAlphaKey = value; - alphaKeyObjects[value].Select(); - } - //checks if Key can be deleted - public void CheckDeleteKey(Slider s) - { - if (Input.GetMouseButtonDown(1)) - { - if (s.name == "ColorKey" && colorKeys.Count > 2) - { - if (!ColorPicker.done) - { - ColorPicker.Done(); - return; - } - int index = colorKeyObjects.IndexOf(s); - Destroy(colorKeyObjects[index].gameObject); - colorKeyObjects.RemoveAt(index); - colorKeys.RemoveAt(index); - if (index <= selectedColorKey) - { - ChangeSelectedColorKey(selectedColorKey - 1); - } - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - } - if(s.name == "AlphaKey" && alphaKeys.Count > 2) - { - int index = alphaKeyObjects.IndexOf(s); - Destroy(alphaKeyObjects[index].gameObject); - alphaKeyObjects.RemoveAt(index); - alphaKeys.RemoveAt(index); - if (index <= selectedAlphaKey) - { - ChangeSelectedAlphaKey(selectedAlphaKey - 1); - } - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - } - } - } - //changes Selected Key - public void Select() - { - Slider s = EventSystem.current.currentSelectedGameObject.GetComponent(); - s.transform.SetAsLastSibling(); - if (s.name == "ColorKey") - { - ChangeSelectedColorKey(colorKeyObjects.IndexOf(s)); - alphaComponent.gameObject.SetActive(false); - colorComponent.gameObject.SetActive(true); - positionComponent.text = Mathf.RoundToInt(colorKeys[selectedColorKey].time * 100f).ToString(); - colorComponent.GetComponent().color = colorKeys[selectedColorKey].color; - } - else - { - ChangeSelectedAlphaKey(alphaKeyObjects.IndexOf(s)); - colorComponent.gameObject.SetActive(false); - alphaComponent.gameObject.SetActive(true); - positionComponent.text = Mathf.RoundToInt(alphaKeys[selectedAlphaKey].time * 100f).ToString(); - alphaComponent.GetComponent().value = alphaKeys[selectedAlphaKey].alpha; - alphaComponent.GetChild(4).GetComponent().text = Mathf.RoundToInt(alphaKeys[selectedAlphaKey].alpha * 255f).ToString(); - } - } - //accessed by position Slider - public void SetTime(float time) - { - if (interact) - { - Slider s = EventSystem.current.currentSelectedGameObject.GetComponent(); - if (s.name == "ColorKey") - { - int index = colorKeyObjects.IndexOf(s); - colorKeys[index] = new GradientColorKey(colorKeys[index].color, time); - } - else - { - int index = alphaKeyObjects.IndexOf(s); - alphaKeys[index] = new GradientAlphaKey(alphaKeys[index].alpha, time); - } - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - positionComponent.text = Mathf.RoundToInt(time * 100f).ToString(); - } - } - //accessed by position InputField - public void SetTime(string time) - { - interact = false; - float t = Mathf.Clamp(int.Parse(time), 0, 100) * 0.01f; - if (colorComponent.gameObject.activeSelf) - { - colorKeyObjects[selectedColorKey].value = t; - colorKeys[selectedColorKey] = new GradientColorKey(colorKeys[selectedColorKey].color, t); - } - else - { - alphaKeyObjects[selectedAlphaKey].value = t; - alphaKeys[selectedAlphaKey] = new GradientAlphaKey(alphaKeys[selectedAlphaKey].alpha, t); - } - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - interact = true; - } - //choose color button call - public void ChooseColor() - { - ColorPicker.Create(colorKeys[selectedColorKey].color, "Gradient Color Key", (c) => UpdateColor(selectedColorKey, c), null); - } - - private void UpdateColor(int index, Color c) - { - interact = false; - colorKeys[index] = new GradientColorKey(c, colorKeys[index].time); - colorKeyObjects[index].transform.GetChild(0).GetChild(0).GetChild(0).GetComponent().color = c; - colorComponent.color = c; - modifiedGradient.SetKeys(colorKeys.ToArray(), alphaKeys.ToArray()); - CalculateTexture(); - interact = true; - } - //cancel button call - public void CCancel() - { - Cancel(); - } - /// - /// Manually cancel the GradientPicker and recovers the default value - /// - public static void Cancel() - { - modifiedGradient = originalGradient; - Done(); - } - //done button call - public void CDone() - { - Done(); - } - /// - /// Manually close the GradientPicker and apply the selected color - /// - public static void Done() - { - if(!ColorPicker.done) - ColorPicker.Done(); - foreach (Slider s in instance.colorKeyObjects) - { - Destroy(s.gameObject); - } - foreach (Slider s in instance.alphaKeyObjects) - { - Destroy(s.gameObject); - } - instance.colorKeyObjects = null; - instance.colorKeys = null; - instance.alphaKeyObjects = null; - instance.alphaKeys = null; - done = true; - onGC?.Invoke(modifiedGradient); - onGS?.Invoke(modifiedGradient); - instance.transform.parent.gameObject.SetActive(false); - } -} diff --git a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat index 2ba7114..26588d0 100644 --- a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat +++ b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat @@ -121,7 +121,7 @@ Material: m_Colors: - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _BrushColor: {r: 0.7075472, g: 0.15686187, b: 0.15686187, a: 1} - - _BrushParams: {r: 0.68767834, g: 0.03140307, b: 0.06, a: 0.067} + - _BrushParams: {r: 0.45014113, g: 0.28018615, b: 0.06, a: 0.067} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs index ed9f368..bab830d 100644 --- a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs +++ b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs @@ -91,7 +91,9 @@ private void ToggleOrShowPalette() return; } - if (IsPaletteVisible()) + CachePicker(); + + if (cachedPicker != null && cachedPicker.IsOpen) { ClosePalette(); Debug.Log("[Bucket] Palette closed"); @@ -142,7 +144,7 @@ private IEnumerator OpenPaletteRoutine() yield break; } - bool opened = ColorPicker.OpenForSharedSettings( + bool opened = cachedPicker.OpenForSharedSettings( pickerTitle, useAlpha, c => { }, @@ -165,20 +167,15 @@ public void ClosePalette() openRoutine = null; } - if (!ColorPicker.done) - ColorPicker.Done(); + CachePicker(); + + if (cachedPicker != null && cachedPicker.IsOpen) + cachedPicker.ClosePicker(true); if (colorPickerUI != null) colorPickerUI.SetActive(false); } - private bool IsPaletteVisible() - { - return colorPickerUI != null - && colorPickerUI.activeInHierarchy - && !ColorPicker.done; - } - private void CachePicker() { if (colorPickerUI == null) diff --git a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs index 5daecdc..ccd9647 100644 --- a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs +++ b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs @@ -7,23 +7,10 @@ public class ColorPicker : MonoBehaviour { public delegate void ColorEvent(Color c); - private static ColorPicker instance; - public static bool done = true; - - private static ColorEvent onCC; - private static ColorEvent onCS; - - private static Color32 originalColor; - private static Color32 modifiedColor; - private static HSV modifiedHsv; - private static bool useA; - - private bool interact; - [Header("Optional Panel Root")] - [SerializeField] private GameObject panelRoot; // drag ColorPickerCanvasWS here + [SerializeField] private GameObject panelRoot; - [Header("Target Brush")] + [Header("Target Brush (optional)")] [SerializeField] private BrushToolState targetBrush; [Header("UI Refs")] @@ -50,34 +37,38 @@ public class ColorPicker : MonoBehaviour public RawImage bGradientMin; public RawImage aGradientFill; + public bool IsOpen => isOpen; + + private bool isOpen; + private bool interact; + private bool useAlpha; + + private ColorEvent onColorChanged; + private ColorEvent onColorSelected; + + private Color32 originalColor; + private Color32 modifiedColor; + private HSV modifiedHsv; + private void Awake() { - instance = this; - if (panelRoot == null) - { - Debug.LogWarning("[ColorPicker] panelRoot is not assigned. Assign the SAME top-level root used by BucketColorPaletteOpener.colorPickerUI."); panelRoot = gameObject; - } } private void Start() { if (panelRoot != null) panelRoot.SetActive(false); - } - private void OnDestroy() - { - if (instance == this) - instance = null; + isOpen = false; } - public static bool OpenForSharedSettings( + public bool OpenForSharedSettings( string message = "Colour Picker", bool useAlpha = false, - ColorEvent onColorChanged = null, - ColorEvent onColorSelected = null) + ColorEvent onChanged = null, + ColorEvent onSelected = null) { if (SharedBrushSettings.Instance == null) { @@ -85,154 +76,142 @@ public static bool OpenForSharedSettings( return false; } - if (instance == null) - { - instance = FindFirstObjectByType(FindObjectsInactive.Include); - - if (instance == null) - { - Debug.LogError("[ColorPicker] No active ColorPicker instance in scene."); - return false; - } - } - - instance.targetBrush = null; + targetBrush = null; - return Create( + return OpenInternal( SharedBrushSettings.Instance.CurrentColor, message, - c => - { - SharedBrushSettings.Instance.SetColor(c); - onColorChanged?.Invoke(c); - }, - c => - { - SharedBrushSettings.Instance.SetColor(c); - onColorSelected?.Invoke(c); - }, - useAlpha + useAlpha, + onChanged, + onSelected ); } - /// - /// Open picker for a specific brush. - /// - public static bool OpenForBrush( + public bool OpenForBrush( BrushToolState brush, string message = "Colour Picker", bool useAlpha = false, - ColorEvent onColorChanged = null, - ColorEvent onColorSelected = null) + ColorEvent onChanged = null, + ColorEvent onSelected = null) { - if (instance == null) - { - instance = FindFirstObjectByType(FindObjectsInactive.Include); - - if (instance == null) - { - Debug.LogError("[ColorPicker] No active ColorPicker instance in scene."); - return false; - } - } - if (brush == null) { Debug.LogWarning("[ColorPicker] OpenForBrush called with null brush."); return false; } - instance.targetBrush = brush; + targetBrush = brush; - return Create( + return OpenInternal( brush.SelectedColor, message, - onColorChanged, - onColorSelected, - useAlpha + useAlpha, + onChanged, + onSelected ); } - private static Text FindTextByName(Transform root, string name) - { - foreach (Transform t in root.GetComponentsInChildren(true)) - { - if (t.name == name) - return t.GetComponent(); - } - return null; - } - - /// - /// Original static create API kept for compatibility. - /// - public static bool Create( + private bool OpenInternal( Color original, string message, - ColorEvent onColorChanged, - ColorEvent onColorSelected, - bool useAlpha = false) + bool alphaEnabled, + ColorEvent onChanged, + ColorEvent onSelected) { - if (instance == null) + if (panelRoot == null) { - Debug.LogError("[ColorPicker] No ColorPicker instance in scene."); + Debug.LogError("[ColorPicker] panelRoot is null."); return false; } - if (instance.panelRoot == null) - { - Debug.LogError("[ColorPicker] panelRoot is null."); + if (isOpen) return false; - } - if (!done) + if (positionIndicator == null || + mainComponent == null || + rComponent == null || + gComponent == null || + bComponent == null || + hexaComponent == null || + colorComponent == null) { - Done(); + Debug.LogError("[ColorPicker] Missing core UI references."); return false; } - done = false; + isOpen = true; + useAlpha = alphaEnabled; originalColor = original; modifiedColor = original; - onCC = onColorChanged; - onCS = onColorSelected; - useA = useAlpha; + onColorChanged = onChanged; + onColorSelected = onSelected; - instance.panelRoot.SetActive(true); - instance.gameObject.SetActive(true); + panelRoot.SetActive(true); + gameObject.SetActive(true); Canvas.ForceUpdateCanvases(); - Text titleText = FindTextByName(instance.panelRoot.transform, "Title"); + Text titleText = FindTextByName(panelRoot.transform, "Title"); if (titleText != null) titleText.text = message; - if (instance.aComponent != null) - instance.aComponent.gameObject.SetActive(useAlpha); + if (aComponent != null) + aComponent.gameObject.SetActive(useAlpha); - if (instance.positionIndicator == null || - instance.mainComponent == null || - instance.rComponent == null || - instance.gComponent == null || - instance.bComponent == null || - instance.hexaComponent == null || - instance.colorComponent == null) + if (hexaComponent.placeholder != null) { - Debug.LogError("[ColorPicker] Missing core UI references."); - instance.panelRoot.SetActive(false); - return false; + Text ph = hexaComponent.placeholder.GetComponent(); + if (ph != null) + ph.text = useAlpha ? "RRGGBBAA" : "RRGGBB"; } - instance.RecalculateMenu(true); + RecalculateMenu(true); + return true; + } + + public void ClosePicker(bool applyCurrentColor = true) + { + if (!isOpen) + return; + + if (!applyCurrentColor) + ApplyColorToTarget(originalColor); + else + ApplyColorToTarget(modifiedColor); - if (instance.hexaComponent != null && instance.hexaComponent.placeholder != null) + if (applyCurrentColor) { - Text ph = instance.hexaComponent.placeholder.GetComponent(); - if (ph != null) - ph.text = "RRGGBB" + (useAlpha ? "AA" : ""); + onColorChanged?.Invoke(modifiedColor); + onColorSelected?.Invoke(modifiedColor); } - return true; + isOpen = false; + interact = false; + onColorChanged = null; + onColorSelected = null; + + if (panelRoot != null) + panelRoot.SetActive(false); + else + gameObject.SetActive(false); + } + + public void CCancel() + { + ClosePicker(false); + } + + public void CDone() + { + ClosePicker(true); + } + + private void ApplyColorToTarget(Color color) + { + if (targetBrush != null) + targetBrush.SetColor(color); + else if (SharedBrushSettings.Instance != null) + SharedBrushSettings.Instance.SetColor(color); } private void RecalculateMenu(bool recalculateHSV) @@ -253,7 +232,7 @@ private void RecalculateMenu(bool recalculateHSV) bComponent.value = modifiedColor.b; if (bInput != null) bInput.text = modifiedColor.b.ToString(); - if (useA) + if (useAlpha && aComponent != null) { aComponent.value = modifiedColor.a; if (aInput != null) aInput.text = modifiedColor.a.ToString(); @@ -262,45 +241,39 @@ private void RecalculateMenu(bool recalculateHSV) mainComponent.value = (float)modifiedHsv.H; if (rGradientMax != null) rGradientMax.color = new Color32(255, modifiedColor.g, modifiedColor.b, 255); - if (rGradientMin != null) rGradientMin.color = new Color32(0, modifiedColor.g, modifiedColor.b, 255); + if (rGradientMin != null) rGradientMin.color = new Color32(0, modifiedColor.g, modifiedColor.b, 255); if (gGradientMax != null) gGradientMax.color = new Color32(modifiedColor.r, 255, modifiedColor.b, 255); - if (gGradientMin != null) gGradientMin.color = new Color32(modifiedColor.r, 0, modifiedColor.b, 255); + if (gGradientMin != null) gGradientMin.color = new Color32(modifiedColor.r, 0, modifiedColor.b, 255); if (bGradientMax != null) bGradientMax.color = new Color32(modifiedColor.r, modifiedColor.g, 255, 255); - if (bGradientMin != null) bGradientMin.color = new Color32(modifiedColor.r, modifiedColor.g, 0, 255); + if (bGradientMin != null) bGradientMin.color = new Color32(modifiedColor.r, modifiedColor.g, 0, 255); - if (useA && aGradientFill != null) + if (useAlpha && aGradientFill != null) aGradientFill.color = new Color32(modifiedColor.r, modifiedColor.g, modifiedColor.b, 255); - positionIndicator.parent.GetChild(0).GetComponent().color = - new HSV(modifiedHsv.H, 1d, 1d).ToColor(); + if (positionIndicator != null && positionIndicator.parent != null && positionIndicator.parent.childCount > 0) + { + RawImage svBg = positionIndicator.parent.GetChild(0).GetComponent(); + if (svBg != null) + svBg.color = new HSV(modifiedHsv.H, 1d, 1d).ToColor(); + } positionIndicator.anchorMin = new Vector2((float)modifiedHsv.S, (float)modifiedHsv.V); positionIndicator.anchorMax = positionIndicator.anchorMin; - hexaComponent.text = useA + hexaComponent.text = useAlpha ? ColorUtility.ToHtmlStringRGBA(modifiedColor) : ColorUtility.ToHtmlStringRGB(modifiedColor); colorComponent.color = modifiedColor; - // live callback - onCC?.Invoke(modifiedColor); - - // live update brush - if (targetBrush != null) - targetBrush.SetColor(modifiedColor); - else if (SharedBrushSettings.Instance != null) - SharedBrushSettings.Instance.SetColor(modifiedColor); + onColorChanged?.Invoke(modifiedColor); + ApplyColorToTarget(modifiedColor); interact = true; } - /// - /// For mouse + XR ray. - /// Bind this to EventTrigger PointerDown + Drag on the SV square. - /// public void SetChooserFromEvent(BaseEventData eventData) { if (!interact) return; @@ -314,7 +287,6 @@ public void SetChooserFromEvent(BaseEventData eventData) if (RectTransformUtility.ScreenPointToLocalPointInRectangle(rt, ped.position, eventCam, out Vector2 localPoint)) { Vector2 normalized = Rect.PointToNormalized(rt.rect, localPoint); - normalized.x = Mathf.Clamp01(normalized.x); normalized.y = Mathf.Clamp01(normalized.y); @@ -410,58 +382,26 @@ public void SetHexa(string value) if (ColorUtility.TryParseHtmlString("#" + value, out Color c)) { - if (!useA) c.a = 1f; + if (!useAlpha) c.a = 1f; modifiedColor = c; RecalculateMenu(true); } else { - hexaComponent.text = useA + hexaComponent.text = useAlpha ? ColorUtility.ToHtmlStringRGBA(modifiedColor) : ColorUtility.ToHtmlStringRGB(modifiedColor); } } - public void CCancel() => Cancel(); - public void CDone() => Done(); - - public static void Cancel() - { - modifiedColor = originalColor; - - if (instance != null) - { - if (instance.targetBrush != null) - instance.targetBrush.SetColor(originalColor); - else if (SharedBrushSettings.Instance != null) - SharedBrushSettings.Instance.SetColor(originalColor); - } - - Done(); - } - - public static void Done() + private static Text FindTextByName(Transform root, string name) { - done = true; - - onCC?.Invoke(modifiedColor); - onCS?.Invoke(modifiedColor); - - if (instance != null) - { - if (instance.targetBrush != null) - instance.targetBrush.SetColor(modifiedColor); - else if (SharedBrushSettings.Instance != null) - SharedBrushSettings.Instance.SetColor(modifiedColor); - } - - if (instance != null) + foreach (Transform t in root.GetComponentsInChildren(true)) { - if (instance.panelRoot != null) - instance.panelRoot.SetActive(false); - else - instance.gameObject.SetActive(false); + if (t.name == name) + return t.GetComponent(); } + return null; } private sealed class HSV @@ -483,7 +423,7 @@ public HSV(Color color) float max = Mathf.Max(color.r, Mathf.Max(color.g, color.b)); float min = Mathf.Min(color.r, Mathf.Min(color.g, color.b)); - float hue = (float)H; + float hue = 0f; if (min != max) { if (max == color.r) diff --git a/code/VR Art Gallery/VR Art Gallery.slnx b/code/VR Art Gallery/VR Art Gallery.slnx index 7b4c26b..1dae314 100644 --- a/code/VR Art Gallery/VR Art Gallery.slnx +++ b/code/VR Art Gallery/VR Art Gallery.slnx @@ -4,9 +4,9 @@ - + From b03a17436cf246f2a8eac1b6661fa73e58d0bb65 Mon Sep 17 00:00:00 2001 From: Yang Date: Fri, 10 Apr 2026 18:23:50 +0100 Subject: [PATCH 3/5] Test3 --- .../Assets/Materials/M_BrushBlit.mat | 4 +-- .../Assets/Prefabs/Paintbrush.prefab | 5 ++-- .../Assets/Prefabs/Painting/Workspace.prefab | 6 ++--- .../Scripts/BucketColorPaletteOpener.cs | 2 +- .../Assets/Scripts/PaintableSurfaceRT.cs | 1 + .../Assets/Scripts/SharedBrushSettings.cs | 1 + .../Assets/Scripts/UI/ColorPicker.cs | 11 ++++++-- .../Assets/Shaders/BrushBlit.shader | 27 ++++++++++--------- 8 files changed, 33 insertions(+), 24 deletions(-) diff --git a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat index 26588d0..a69474a 100644 --- a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat +++ b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat @@ -120,8 +120,8 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BrushColor: {r: 0.7075472, g: 0.15686187, b: 0.15686187, a: 1} - - _BrushParams: {r: 0.45014113, g: 0.28018615, b: 0.06, a: 0.067} + - _BrushColor: {r: 0, g: 0.50980395, b: 0.47058824, a: 0.5176471} + - _BrushParams: {r: 0.6065461, g: 0.7108873, b: 0.03, a: 0.7} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/code/VR Art Gallery/Assets/Prefabs/Paintbrush.prefab b/code/VR Art Gallery/Assets/Prefabs/Paintbrush.prefab index d93e217..b5c437d 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Paintbrush.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Paintbrush.prefab @@ -289,8 +289,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 773ae0993909b484db55b426ed072c3f, type: 3} m_Name: m_EditorClassIdentifier: Scripts::BrushToolState - selectedColor: {r: 0.7075472, g: 0.15686187, b: 0.15686187, a: 1} - radius: 0.06 + selectedColor: {r: 0.6886792, g: 0.1721698, b: 0.1721698, a: 1} + radius: 0.057000298 hardness: 0.067 brushTipRenderer: {fileID: 0} colorProperty: _BaseColor @@ -303,6 +303,7 @@ MonoBehaviour: - {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - {r: 0, g: 1, b: 1, a: 1} - {r: 1, g: 0, b: 1, a: 1} + currentPresetIndex: 0 --- !u!114 &2712933426389813818 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab index 37cf337..f66326c 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab @@ -214,7 +214,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: Unity.Netcode.Runtime::Unity.Netcode.NetworkObject - GlobalObjectIdHash: 425912234 + GlobalObjectIdHash: 1902360318 InScenePlacedSourceGlobalObjectIdHash: 0 DeferredDespawnTick: 0 Ownership: 1 @@ -406,9 +406,7 @@ MonoBehaviour: colorPickerUI: {fileID: 6030265109231879705} paletteAnchor: {fileID: 6196052639447588801} pickerTitle: Colour Picker - useAlpha: 0 - targetBrush: {fileID: 0} - brushInteractor: {fileID: 0} + useAlpha: 1 toggleDebounceSeconds: 0.15 --- !u!114 &1169390836969415157 MonoBehaviour: diff --git a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs index bab830d..ebd5b0c 100644 --- a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs +++ b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs @@ -11,7 +11,7 @@ public class BucketColorPaletteOpener : MonoBehaviour [Header("Message")] public string pickerTitle = "Colour Picker"; - public bool useAlpha = false; + public bool useAlpha = true; [Header("Input")] [Range(0.05f, 0.5f)] diff --git a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs index 4c2c14d..53d7437 100644 --- a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs +++ b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs @@ -152,6 +152,7 @@ public bool PaintAt(Vector2 uv, BrushState brush) if (!brushBlitMaterial) return false; brushBlitMaterial.SetTexture(BrushTex, brushMask ? brushMask : Texture2D.whiteTexture); + Debug.Log($"[PaintAt] brush alpha = {brush.color.a}"); brushBlitMaterial.SetColor(BrushColorID, brush.color); brushBlitMaterial.SetVector(BrushParams, new Vector4(uv.x, uv.y, brush.radius, brush.hardness)); diff --git a/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs index b87a0c3..0e6f3ea 100644 --- a/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs +++ b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs @@ -46,6 +46,7 @@ public void UnregisterBrush(BrushToolState brush) public void SetColor(Color color) { + Debug.Log($"[SharedBrushSettings] SetColor alpha = {color.a}"); currentColor = color; ApplyToAllBrushes(); } diff --git a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs index ccd9647..96d88a9 100644 --- a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs +++ b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs @@ -66,7 +66,7 @@ private void Start() public bool OpenForSharedSettings( string message = "Colour Picker", - bool useAlpha = false, + bool useAlpha = true, ColorEvent onChanged = null, ColorEvent onSelected = null) { @@ -90,7 +90,7 @@ public bool OpenForSharedSettings( public bool OpenForBrush( BrushToolState brush, string message = "Colour Picker", - bool useAlpha = false, + bool useAlpha = true, ColorEvent onChanged = null, ColorEvent onSelected = null) { @@ -158,6 +158,12 @@ private bool OpenInternal( if (aComponent != null) aComponent.gameObject.SetActive(useAlpha); + if (aInput != null) + aInput.gameObject.SetActive(useAlpha); + + if (aGradientFill != null) + aGradientFill.gameObject.SetActive(useAlpha); + if (hexaComponent.placeholder != null) { Text ph = hexaComponent.placeholder.GetComponent(); @@ -208,6 +214,7 @@ public void CDone() private void ApplyColorToTarget(Color color) { + Debug.Log($"[ColorPicker] ApplyColorToTarget alpha = {color.a}"); if (targetBrush != null) targetBrush.SetColor(color); else if (SharedBrushSettings.Instance != null) diff --git a/code/VR Art Gallery/Assets/Shaders/BrushBlit.shader b/code/VR Art Gallery/Assets/Shaders/BrushBlit.shader index 7e6a3d6..c658870 100644 --- a/code/VR Art Gallery/Assets/Shaders/BrushBlit.shader +++ b/code/VR Art Gallery/Assets/Shaders/BrushBlit.shader @@ -7,12 +7,12 @@ Shader "Hidden/BrushBlit" _BrushColor ("Brush Color", Color) = (1,0,0,1) _BrushParams ("Brush Params", Vector) = (0.5, 0.5, 0.05, 0.8) } - + SubShader { Tags { "RenderType"="Opaque" } ZTest Always ZWrite Off Cull Off - + Pass { CGPROGRAM @@ -50,29 +50,30 @@ Shader "Hidden/BrushBlit" float2 brushCenter = _BrushParams.xy; float brushRadius = _BrushParams.z; float hardness = _BrushParams.w; - + float2 diff = i.uv - brushCenter; float dist = length(diff); - + fixed4 canvas = tex2D(_MainTex, i.uv); - + if (dist < brushRadius) { - // Sample brush texture (if provided) float2 brushUV = (diff / brushRadius) * 0.5 + 0.5; float brushMask = tex2D(_BrushTex, brushUV).a; - - // Apply hardness falloff + float falloff = 1.0 - smoothstep(brushRadius * hardness, brushRadius, dist); float influence = brushMask * falloff; - - // Blend with brush color - return lerp(canvas, _BrushColor, influence); + float opacity = influence * _BrushColor.a; + + fixed4 result = canvas; + result.rgb = lerp(canvas.rgb, _BrushColor.rgb, opacity); + result.a = canvas.a; + return result; } - + return canvas; } ENDCG } } -} +} \ No newline at end of file From 3debadfa42b78b968776434937f69cbd36b0c9b4 Mon Sep 17 00:00:00 2001 From: Yang Date: Sun, 12 Apr 2026 18:23:56 +0100 Subject: [PATCH 4/5] Brush Color Changing Successfully Tested with 2 players in the same workspace AND this SharedBrushSettings.cs.meta file is necessary for sample scene, don't delete plz otherwise need to add script component manually back on it. --- .../ColorPickerExampleScript.cs.meta | 18 --- .../SampleSceneAssets/Example.unity.meta | 14 -- .../GradientPickerExample.cs.meta | 18 --- .../Scripts/GradientPicker.cs.meta | 18 --- .../Assets/Materials/M_BrushBlit.mat | 4 +- .../Assets/Scenes/SampleScene.unity | 138 +++++++++--------- .../Scripts/SharedBrushSettings.cs.meta | 2 + .../HUD/ViewGalleryButton.prefab.meta | 7 + 8 files changed, 80 insertions(+), 139 deletions(-) delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs.meta delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity.meta delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs.meta delete mode 100644 code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs.meta create mode 100644 code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs.meta create mode 100644 code/VR Art Gallery/Assets/VRMPAssets/Prefabs/UIPrefabs/GalleryUI/HUD/ViewGalleryButton.prefab.meta diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs.meta b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs.meta deleted file mode 100644 index 743c655..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 5f24ee73d747cef4eb3b453d2dc11ba7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 176831 - packageName: Easy Color & Gradient Picker - packageVersion: 1.0 - assetPath: Assets/ColorGradientPicker/SampleSceneAssets/ColorPickerExampleScript.cs - uploadId: 384684 diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity.meta b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity.meta deleted file mode 100644 index 7d11a5d..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/Example.unity.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 6d150ef94056b2a4d9f93c62720afd88 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 176831 - packageName: Easy Color & Gradient Picker - packageVersion: 1.0 - assetPath: Assets/ColorGradientPicker/SampleSceneAssets/Example.unity - uploadId: 384684 diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs.meta b/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs.meta deleted file mode 100644 index a41a83b..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: a3df09331f67e70419d45395e39b88c5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 176831 - packageName: Easy Color & Gradient Picker - packageVersion: 1.0 - assetPath: Assets/ColorGradientPicker/SampleSceneAssets/GradientPickerExample.cs - uploadId: 384684 diff --git a/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs.meta b/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs.meta deleted file mode 100644 index c87e523..0000000 --- a/code/VR Art Gallery/Assets/ColorGradientPicker/Scripts/GradientPicker.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: a298d0be86c4f0a41bc4fbdcd635535f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 176831 - packageName: Easy Color & Gradient Picker - packageVersion: 1.0 - assetPath: Assets/ColorGradientPicker/Scripts/GradientPicker.cs - uploadId: 384684 diff --git a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat index a69474a..f989cc0 100644 --- a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat +++ b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat @@ -120,8 +120,8 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BrushColor: {r: 0, g: 0.50980395, b: 0.47058824, a: 0.5176471} - - _BrushParams: {r: 0.6065461, g: 0.7108873, b: 0.03, a: 0.7} + - _BrushColor: {r: 0.07058824, g: 0, b: 0.19215687, a: 1} + - _BrushParams: {r: 0.690898, g: 0.1569543, b: 0.03, a: 0.7} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity index fce5d1f..657350f 100644 --- a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity +++ b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity @@ -509,19 +509,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 440948656982667568, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -573,19 +573,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 304 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 440948657680231979, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_SizeDelta.x @@ -661,19 +661,19 @@ PrefabInstance: objectReference: {fileID: 1236124148} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 599641582712855905, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 688733257617836063, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -749,19 +749,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 15 objectReference: {fileID: 0} - target: {fileID: 860691981984335428, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 1019785956489932727, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -957,35 +957,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 1532489295279834510, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 1643146213795589592, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1301,19 +1301,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 3072670056012009008, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1525,19 +1525,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 15 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 4422127295404337792, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_Spacing.x @@ -1629,19 +1629,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 5124595908052133201, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2133,19 +2133,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 7638849663437778729, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 7807438087691688251, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2197,19 +2197,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 15 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 8126797845790104188, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2365,35 +2365,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8580625547825739718, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 8694544668885805580, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2845,7 +2845,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!114 &238601782 MonoBehaviour: m_ObjectHideFlags: 0 @@ -7883,7 +7883,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1985644498} - - component: {fileID: 1985644497} + - component: {fileID: 1985644499} m_Layer: 0 m_Name: SharedBrushState m_TagString: Untagged @@ -7891,21 +7891,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1985644497 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1985644496} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6757e651e07ea4e11bf59098ede0940e, type: 3} - m_Name: - m_EditorClassIdentifier: Scripts::SharedBrushSettings - currentColor: {r: 0, g: 0, b: 0, a: 1} - currentRadius: 0.03 - currentHardness: 0.7 --- !u!4 &1985644498 Transform: m_ObjectHideFlags: 0 @@ -7921,6 +7906,21 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1985644499 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1985644496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f83db2882b7c53a48a32815e1fca24a5, type: 3} + m_Name: + m_EditorClassIdentifier: Scripts::SharedBrushSettings + currentColor: {r: 0, g: 0, b: 0, a: 1} + currentRadius: 0.03 + currentHardness: 0.7 --- !u!1 &2012822840 GameObject: m_ObjectHideFlags: 0 diff --git a/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs.meta b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs.meta new file mode 100644 index 0000000..82e3b09 --- /dev/null +++ b/code/VR Art Gallery/Assets/Scripts/SharedBrushSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f83db2882b7c53a48a32815e1fca24a5 \ No newline at end of file diff --git a/code/VR Art Gallery/Assets/VRMPAssets/Prefabs/UIPrefabs/GalleryUI/HUD/ViewGalleryButton.prefab.meta b/code/VR Art Gallery/Assets/VRMPAssets/Prefabs/UIPrefabs/GalleryUI/HUD/ViewGalleryButton.prefab.meta new file mode 100644 index 0000000..88b50f5 --- /dev/null +++ b/code/VR Art Gallery/Assets/VRMPAssets/Prefabs/UIPrefabs/GalleryUI/HUD/ViewGalleryButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f09b00f8e8462dc46994c3ec6e567c56 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: From bc9a57fbed95279e363639a252a38d4f608ea904 Mon Sep 17 00:00:00 2001 From: Yang Date: Sun, 12 Apr 2026 19:16:09 +0100 Subject: [PATCH 5/5] Test4 --- .../Assets/Materials/M_BrushBlit.mat | 4 +- .../Assets/Prefabs/Color Picker.prefab | 10 +- .../Assets/Prefabs/Painting/Workspace.prefab | 2 +- .../Assets/Scenes/SampleScene.unity | 93 ++++++----- .../Scripts/BucketColorPaletteOpener.cs | 2 +- .../Assets/Scripts/PaintableSurfaceRT.cs | 144 ++++++------------ .../Assets/Scripts/UI/ColorPicker.cs | 4 +- 7 files changed, 107 insertions(+), 152 deletions(-) diff --git a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat index f989cc0..639a054 100644 --- a/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat +++ b/code/VR Art Gallery/Assets/Materials/M_BrushBlit.mat @@ -120,8 +120,8 @@ Material: - _ZWrite: 1 m_Colors: - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BrushColor: {r: 0.07058824, g: 0, b: 0.19215687, a: 1} - - _BrushParams: {r: 0.690898, g: 0.1569543, b: 0.03, a: 0.7} + - _BrushColor: {r: 0, g: 0.6, b: 0, a: 1} + - _BrushParams: {r: 0.8462196, g: 0.22127108, b: 0.03, a: 0.7} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab b/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab index 1b93ba9..f8104aa 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Color Picker.prefab @@ -215,15 +215,15 @@ PrefabInstance: m_Modifications: - target: {fileID: 1698156303014076842, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} propertyPath: m_AnchorMax.x - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1698156303014076842, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1698156303014076842, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} propertyPath: m_AnchorMin.x - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1698156303557720017, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} propertyPath: m_AnchorMax.x @@ -345,6 +345,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 2645092813349941362, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2645092813429622975, guid: c7d6be968063c4831b3d989d852e00a6, type: 3} propertyPath: m_AnchorMax.x value: 0 diff --git a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab index f66326c..031bbde 100644 --- a/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab +++ b/code/VR Art Gallery/Assets/Prefabs/Painting/Workspace.prefab @@ -406,7 +406,7 @@ MonoBehaviour: colorPickerUI: {fileID: 6030265109231879705} paletteAnchor: {fileID: 6196052639447588801} pickerTitle: Colour Picker - useAlpha: 1 + useAlpha: 0 toggleDebounceSeconds: 0.15 --- !u!114 &1169390836969415157 MonoBehaviour: diff --git a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity index cd143f2..a60be50 100644 --- a/code/VR Art Gallery/Assets/Scenes/SampleScene.unity +++ b/code/VR Art Gallery/Assets/Scenes/SampleScene.unity @@ -509,19 +509,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 440948656723770332, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 440948656945103206, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_IsActive @@ -585,19 +585,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 304 objectReference: {fileID: 0} - target: {fileID: 440948657677736307, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 440948657680231979, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_SizeDelta.x @@ -1065,19 +1065,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 1565022366488384926, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 1643146213795589592, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1393,19 +1393,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 20 objectReference: {fileID: 0} - target: {fileID: 2814095900973319199, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -15 objectReference: {fileID: 0} - target: {fileID: 2827505965204158257, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -1777,19 +1777,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 15 objectReference: {fileID: 0} - target: {fileID: 4292373663111151148, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 4422127295404337792, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_Spacing.x @@ -1881,19 +1881,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 4998242230571431511, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 5124595908052133201, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2509,19 +2509,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 15 objectReference: {fileID: 0} - target: {fileID: 8073791155062023922, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 8126797845790104188, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -2705,19 +2705,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 8640415441524746198, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -12 objectReference: {fileID: 0} - target: {fileID: 8694544668885805580, guid: e385e155969dc274691335562166cbfb, type: 3} propertyPath: m_AnchorMax.y @@ -5707,11 +5707,6 @@ MeshRenderer: m_CorrespondingSourceObject: {fileID: 6278055813028390738, guid: e9e8956bce235e54db09fa2f44c06b9d, type: 3} m_PrefabInstance: {fileID: 1188042902095879605} m_PrefabAsset: {fileID: 0} ---- !u!1 &804689613 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 440948656542363877, guid: e385e155969dc274691335562166cbfb, type: 3} - m_PrefabInstance: {fileID: 100674573} - m_PrefabAsset: {fileID: 0} --- !u!4 &804689618 stripped Transform: m_CorrespondingSourceObject: {fileID: 440948656542363876, guid: e385e155969dc274691335562166cbfb, type: 3} @@ -7217,7 +7212,7 @@ PrefabInstance: objectReference: {fileID: 1225591694} - target: {fileID: 78456908770449076, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 656325298623954046, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7237,7 +7232,7 @@ PrefabInstance: objectReference: {fileID: 1102337267} - target: {fileID: 1064299821467439362, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 1483130735097857285, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7245,7 +7240,7 @@ PrefabInstance: objectReference: {fileID: 387619447} - target: {fileID: 1483130735097857285, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 1768519991508922988, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7253,7 +7248,7 @@ PrefabInstance: objectReference: {fileID: 2139413256} - target: {fileID: 1768519991508922988, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 2204914157511709046, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7305,7 +7300,7 @@ PrefabInstance: objectReference: {fileID: 820371323} - target: {fileID: 5571460141018296772, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 6048393405612592340, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7313,7 +7308,7 @@ PrefabInstance: objectReference: {fileID: 688730147} - target: {fileID: 6048393405612592340, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 6328870794237430213, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_LocalPosition.x @@ -7369,7 +7364,7 @@ PrefabInstance: objectReference: {fileID: 277405196} - target: {fileID: 6581247370363097020, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 6823719746086121205, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7377,7 +7372,7 @@ PrefabInstance: objectReference: {fileID: 155297444} - target: {fileID: 6823719746086121205, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 6952163874469922999, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_Mesh @@ -7385,7 +7380,7 @@ PrefabInstance: objectReference: {fileID: 243848865} - target: {fileID: 6952163874469922999, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: m_VersionIndex - value: 139 + value: 142 objectReference: {fileID: 0} - target: {fileID: 7008568470934075474, guid: 19cacce144a0c414daf1c801d3fa3368, type: 3} propertyPath: SlotIndex @@ -8515,9 +8510,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ff74d21d1203698438f37d8fe84fdb76, type: 3} m_Name: m_EditorClassIdentifier: VRMP::HUDSpawner - vrSpawnButton: {fileID: 8086092489985434388, guid: cd56cad5879aef745a0944739b1e30ac, type: 3} - desktopSpawnButton: {fileID: 7488629184665783403, guid: da2b439d1a2de5c46a4f428f8cf4fe19, type: 3} - hudObject: {fileID: 804689613} + vrSpawnButton: {fileID: 0} + desktopSpawnButton: {fileID: 0} + hudObject: {fileID: 0} headCamera: {fileID: 4607428429233221385} spawnDistance: 1.5 spawnHeightOffset: 0.5 diff --git a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs index ebd5b0c..bab830d 100644 --- a/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs +++ b/code/VR Art Gallery/Assets/Scripts/BucketColorPaletteOpener.cs @@ -11,7 +11,7 @@ public class BucketColorPaletteOpener : MonoBehaviour [Header("Message")] public string pickerTitle = "Colour Picker"; - public bool useAlpha = true; + public bool useAlpha = false; [Header("Input")] [Range(0.05f, 0.5f)] diff --git a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs index c9daf73..d7e361a 100644 --- a/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs +++ b/code/VR Art Gallery/Assets/Scripts/PaintableSurfaceRT.cs @@ -1,9 +1,9 @@ using UnityEngine; using System.IO; -using System.Collections; using System.Threading.Tasks; using VRGallery.Cloud; using VRGallery.Authentication; + [DisallowMultipleComponent] [RequireComponent(typeof(Renderer))] public class PaintableSurfaceRT : MonoBehaviour @@ -15,10 +15,10 @@ public enum SurfaceMode DrawOverImage } - [SerializeField] bool forceUniqueMaterialInstance = true; - [SerializeField] bool reapplyInLateUpdate = true; + [SerializeField] private bool forceUniqueMaterialInstance = true; + [SerializeField] private bool reapplyInLateUpdate = true; - Material _displayMat; + private Material _displayMat; [Header("Mode")] public SurfaceMode mode = SurfaceMode.DisplayOnly; @@ -34,42 +34,44 @@ public enum SurfaceMode [Header("Target")] public Renderer targetRenderer; - RenderTexture _a, _b; - MaterialPropertyBlock _mpb; + private RenderTexture _a, _b; + private MaterialPropertyBlock _mpb; - static readonly int MainTex = Shader.PropertyToID("_MainTex"); - static readonly int BaseMap = Shader.PropertyToID("_BaseMap"); - static readonly int ColorId = Shader.PropertyToID("_Color"); - static readonly int BaseColorId = Shader.PropertyToID("_BaseColor"); + private static readonly int MainTex = Shader.PropertyToID("_MainTex"); + private static readonly int BaseMap = Shader.PropertyToID("_BaseMap"); + private static readonly int ColorId = Shader.PropertyToID("_Color"); + private static readonly int BaseColorId = Shader.PropertyToID("_BaseColor"); - static readonly int BrushTex = Shader.PropertyToID("_BrushTex"); - static readonly int BrushColorID = Shader.PropertyToID("_BrushColor"); - static readonly int BrushParams = Shader.PropertyToID("_BrushParams"); + private static readonly int BrushTex = Shader.PropertyToID("_BrushTex"); + private static readonly int BrushColorID = Shader.PropertyToID("_BrushColor"); + private static readonly int BrushParams = Shader.PropertyToID("_BrushParams"); [Header("Autosave")] public bool enableAutoSave = true; public float autoSaveInterval = 10f; - float _autoSaveTimer; + private float _autoSaveTimer; [Header("Cloud Sync")] public bool enableCloudSync = true; private IArtworkRepository _artworkRepo; private IArtistRepository _artistRepo; private IGalleryRepository _galleryRepo; - private long _ownerId = 49;//WorkflowArtist, just in case - private int _currentGalleryId = 141;//WorkflowArtist's gallery, just in case + private long _ownerId = 49; // WorkflowArtist fallback + private int _currentGalleryId = 141; // WorkflowArtist gallery fallback private ArtworkData _currentCloudArtwork = null; private bool _isSavingCloud = false; - void Update() + private void Update() { - if (!enableAutoSave || _a == null) return; + if (!enableAutoSave || _a == null) + return; _autoSaveTimer += Time.deltaTime; if (_autoSaveTimer >= autoSaveInterval) { _autoSaveTimer = 0.0f; + if (enableCloudSync && _ownerId > 0 && !_isSavingCloud) { CloudAutoSave(); @@ -84,7 +86,9 @@ void Update() public void Awake() { - if (!targetRenderer) targetRenderer = GetComponent(); + if (!targetRenderer) + targetRenderer = GetComponent(); + _mpb = new MaterialPropertyBlock(); if (forceUniqueMaterialInstance) @@ -105,8 +109,8 @@ public void Awake() ApplyToRenderer(_a); } - - void Start() + + private void Start() { if (enableCloudSync) { @@ -119,7 +123,7 @@ void Start() var uvs = mf.sharedMesh.uv; Vector2 min = new Vector2(float.MaxValue, float.MaxValue); Vector2 max = new Vector2(float.MinValue, float.MinValue); - + foreach (var uv in uvs) { min.x = Mathf.Min(min.x, uv.x); @@ -127,7 +131,7 @@ void Start() max.x = Mathf.Max(max.x, uv.x); max.y = Mathf.Max(max.y, uv.y); } - + Debug.Log($"[PaintableSurfaceRT] UV range: min={min}, max={max}", this); } } @@ -149,6 +153,7 @@ private async void InitializeCloudSync() if (profile != null) { bool hasValidGallery = false; + if (profile.managed_gallery != null && profile.managed_gallery.Length > 0) { if (int.TryParse(profile.managed_gallery[0], out int galId)) @@ -161,13 +166,13 @@ private async void InitializeCloudSync() if (!hasValidGallery) { - // Fallback to match hardcoded gallery/owner pairs _ownerId = 49; _currentGalleryId = 141; Debug.LogWarning("[PaintableSurfaceRT] Valid gallery not found for user. Falling back to hardcoded IDs (49 / 141)."); } } } + Debug.Log($"[PaintableSurfaceRT] Cloud Sync initialized. OwnerId: {_ownerId}, GalleryId: {_currentGalleryId}"); } catch (System.Exception ex) @@ -179,6 +184,7 @@ private async void InitializeCloudSync() private async void CloudAutoSave() { _isSavingCloud = true; + try { RenderTexture currentRT = _a; @@ -195,7 +201,6 @@ private async void CloudAutoSave() if (_currentCloudArtwork == null) { - // First save var artworkData = new ArtworkData { title = $"Artwork - {System.DateTime.Now:MM/dd/yy HH:mm}", @@ -209,14 +214,15 @@ private async void CloudAutoSave() if (_currentGalleryId > 0) { - if (_galleryRepo == null) _galleryRepo = await SupabaseGalleryRepository.CreateAsync(); + if (_galleryRepo == null) + _galleryRepo = await SupabaseGalleryRepository.CreateAsync(); + await _galleryRepo.AddArtworkToGalleryAsync(_currentGalleryId, _currentCloudArtwork.id); Debug.Log($"[PaintableSurfaceRT] Linked artwork {_currentCloudArtwork.id} to gallery {_currentGalleryId}"); } } else { - // Subsequent saves _currentCloudArtwork = await _artworkRepo.UpdateArtworkWithUploadAsync(_currentCloudArtwork, pngBytes); Debug.Log($"[PaintableSurfaceRT] Updated cloud artwork ID: {_currentCloudArtwork.id}"); } @@ -237,7 +243,6 @@ public string SaveCanvasToPNG(string fileName, string directoryOverride = null) throw new System.InvalidOperationException("No RenderTexture to save."); RenderTexture currentRT = _a; - RenderTexture previous = RenderTexture.active; RenderTexture.active = currentRT; @@ -279,7 +284,6 @@ public bool LoadCanvasFromPNG(string filePath) return false; } - // Seed both ping-pong buffers with the loaded image Graphics.Blit(tex, _a); Graphics.Blit(tex, _b); @@ -290,14 +294,18 @@ public bool LoadCanvasFromPNG(string filePath) return true; } - static string GetPath(Transform t) + private static string GetPath(Transform t) { var p = t.name; - while (t.parent != null) { t = t.parent; p = t.name + "/" + p; } + while (t.parent != null) + { + t = t.parent; + p = t.name + "/" + p; + } return p; } - RenderTexture CreateRT(int size) + private RenderTexture CreateRT(int size) { var rt = new RenderTexture(size, size, 0, RenderTextureFormat.ARGB32); rt.wrapMode = TextureWrapMode.Clamp; @@ -306,7 +314,7 @@ RenderTexture CreateRT(int size) return rt; } - void ClearRT(RenderTexture rt, Color c) + private void ClearRT(RenderTexture rt, Color c) { var prev = RenderTexture.active; RenderTexture.active = rt; @@ -314,9 +322,10 @@ void ClearRT(RenderTexture rt, Color c) RenderTexture.active = prev; } - void ApplyToRenderer(Texture tex) + private void ApplyToRenderer(Texture tex) { - if (!targetRenderer || !_displayMat) return; + if (!targetRenderer || !_displayMat) + return; _displayMat.SetTexture(MainTex, tex); _displayMat.SetTexture(BaseMap, tex); @@ -358,8 +367,11 @@ public void SetMode(SurfaceMode newMode, Texture2D optionalBackground = null) public bool PaintAt(Vector2 uv, BrushState brush) { - if (mode == SurfaceMode.DisplayOnly) return false; - if (!brushBlitMaterial) return false; + if (mode == SurfaceMode.DisplayOnly) + return false; + + if (!brushBlitMaterial) + return false; brushBlitMaterial.SetTexture(BrushTex, brushMask ? brushMask : Texture2D.whiteTexture); Debug.Log($"[PaintAt] brush alpha = {brush.color.a}"); @@ -373,65 +385,9 @@ public bool PaintAt(Vector2 uv, BrushState brush) return true; } - void LateUpdate() + private void LateUpdate() { if (reapplyInLateUpdate && _a != null) ApplyToRenderer(_a); } - - public string SaveCanvasToPNG(string fileName, string directoryOverride = null) - { - if (_a == null) - throw new System.InvalidOperationException("No RenderTexture to save."); - - RenderTexture previous = RenderTexture.active; - RenderTexture.active = _a; - - Texture2D tex = new Texture2D(_a.width, _a.height, TextureFormat.RGBA32, false); - tex.ReadPixels(new Rect(0, 0, _a.width, _a.height), 0, 0); - tex.Apply(); - - RenderTexture.active = previous; - - byte[] pngBytes = tex.EncodeToPNG(); - DestroyImmediate(tex); - - string dir = directoryOverride ?? Path.Combine(Application.persistentDataPath, "Paintings"); - if (!Directory.Exists(dir)) - Directory.CreateDirectory(dir); - - string path = Path.Combine(dir, fileName); - File.WriteAllBytes(path, pngBytes); - - Debug.Log($"[PaintableSurfaceRT] Saved painting to {path}", this); - return path; - } - - public bool LoadCanvasFromPNG(string filePath) - { - if (!File.Exists(filePath)) - { - Debug.Log($"[PaintableSurfaceRT] File not found: {filePath}", this); - return false; - } - - byte[] bytes = File.ReadAllBytes(filePath); - - Texture2D tex = new Texture2D(2, 2, TextureFormat.RGBA32, false); - if (!tex.LoadImage(bytes)) - { - Debug.Log($"[PaintableSurfaceRT] Failed to decode PNG: {filePath}", this); - DestroyImmediate(tex); - return false; - } - - Graphics.Blit(tex, _a); - Graphics.Blit(tex, _b); - - ApplyToRenderer(_a); - DestroyImmediate(tex); - - Debug.Log($"[PaintableSurfaceRT] Loaded painting from {filePath}", this); - return true; - } } \ No newline at end of file diff --git a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs index 96d88a9..b1e3acd 100644 --- a/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs +++ b/code/VR Art Gallery/Assets/Scripts/UI/ColorPicker.cs @@ -66,7 +66,7 @@ private void Start() public bool OpenForSharedSettings( string message = "Colour Picker", - bool useAlpha = true, + bool useAlpha = false, ColorEvent onChanged = null, ColorEvent onSelected = null) { @@ -90,7 +90,7 @@ public bool OpenForSharedSettings( public bool OpenForBrush( BrushToolState brush, string message = "Colour Picker", - bool useAlpha = true, + bool useAlpha = false, ColorEvent onChanged = null, ColorEvent onSelected = null) {