net.dreditor.camerapostprocess 0.0.0-stage → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BlurCameraRenderManager.cs +214 -0
- package/BlurCameraRenderManager.cs.meta +11 -0
- package/BlurRenderQueueSettings.cs +29 -0
- package/BlurRenderQueueSettings.cs.meta +11 -0
- package/BlurSettingsHandler.cs +59 -0
- package/BlurSettingsHandler.cs.meta +11 -0
- package/BlurVisionEvent.cs +209 -0
- package/BlurVisionEvent.cs.meta +11 -0
- package/CameraPostProcessingExtentions.cs +45 -0
- package/CameraPostProcessingExtentions.cs.meta +11 -0
- package/DREditor.CameraPostProcess.asmdef +20 -0
- package/DREditor.CameraPostProcess.asmdef.meta +7 -0
- package/PostProcessChanger.cs +224 -0
- package/PostProcessChanger.cs.meta +11 -0
- package/PostProcessState.cs +67 -0
- package/PostProcessState.cs.meta +11 -0
- package/PostProcessingColorEventHandler.cs +173 -0
- package/PostProcessingColorEventHandler.cs.meta +11 -0
- package/Samples/BlurRenderQueueSettings.asset +15 -0
- package/Samples/BlurRenderQueueSettings.asset.meta +8 -0
- package/Samples/Blur_Camera_Render_Manager.prefab +73 -0
- package/Samples/Blur_Camera_Render_Manager.prefab.meta +7 -0
- package/Samples/PostProcessState Blur Camera.asset +19 -0
- package/Samples/PostProcessState Blur Camera.asset.meta +8 -0
- package/Samples/PostProcessState Dialogue Camera.asset +19 -0
- package/Samples/PostProcessState Dialogue Camera.asset.meta +8 -0
- package/Samples/PostProcessState Main Camera.asset +19 -0
- package/Samples/PostProcessState Main Camera.asset.meta +8 -0
- package/Samples/PostProcessState Protag Camera.asset +19 -0
- package/Samples/PostProcessState Protag Camera.asset.meta +8 -0
- package/Samples.meta +8 -0
- package/package.json +37 -6
- package/package.json.meta +7 -0
- package/readme.txt +23 -0
- package/readme.txt.meta +7 -0
- package/README.md +0 -3
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if DOTWEEN
|
|
3
|
+
using DG.Tweening;
|
|
4
|
+
#endif
|
|
5
|
+
using DREditor.EventObjects;
|
|
6
|
+
using DREditor.Services;
|
|
7
|
+
using System.Collections.Generic;
|
|
8
|
+
using System.Linq;
|
|
9
|
+
using UnityEngine;
|
|
10
|
+
|
|
11
|
+
namespace DREditor.CamerasPostProcess
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[ClassHeader(nameof(ServiceHolder<BlurCameraRenderManager>) + " for type: " + nameof(BlurCameraRenderManager) +
|
|
17
|
+
"\n\n")]
|
|
18
|
+
public class BlurCameraRenderManager : ServiceHolder<BlurCameraRenderManager>, IToTitleScreen
|
|
19
|
+
{
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Header("")]
|
|
24
|
+
[Divider]
|
|
25
|
+
[Tooltip("")]
|
|
26
|
+
[SerializeField] protected bool lowSpecCamRender = false;
|
|
27
|
+
|
|
28
|
+
/// <summary>
|
|
29
|
+
///
|
|
30
|
+
/// </summary>
|
|
31
|
+
[ReadOnly]
|
|
32
|
+
[Tooltip("")]
|
|
33
|
+
[SerializeField] protected List<string> renderingCodes = new();
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
///
|
|
38
|
+
/// </summary>
|
|
39
|
+
[Header("")]
|
|
40
|
+
[Divider]
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
[SerializeField] protected StringWithEvent blurCamCode = null;
|
|
43
|
+
|
|
44
|
+
/// <summary>
|
|
45
|
+
///
|
|
46
|
+
/// </summary>
|
|
47
|
+
[Tooltip("")]
|
|
48
|
+
[SerializeField] protected BoolWithEvent blurCameraEnabled = null;
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
/// <summary>
|
|
52
|
+
///
|
|
53
|
+
/// </summary>
|
|
54
|
+
[Header("")]
|
|
55
|
+
[Divider]
|
|
56
|
+
[Tooltip("")]
|
|
57
|
+
[SerializeField] UnityEngine.Camera dialogueCamera = null;
|
|
58
|
+
|
|
59
|
+
/// <summary>
|
|
60
|
+
///
|
|
61
|
+
/// </summary>
|
|
62
|
+
[Tooltip("")]
|
|
63
|
+
[SerializeField] protected string dialogueCameraName = "Dialogue";
|
|
64
|
+
|
|
65
|
+
/// <summary>
|
|
66
|
+
///
|
|
67
|
+
/// </summary>
|
|
68
|
+
[Tooltip("")]
|
|
69
|
+
[SerializeField] protected string renderCamCode = "Cam";
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/// <summary>
|
|
73
|
+
///
|
|
74
|
+
/// </summary>
|
|
75
|
+
protected bool mainCameraIsTweening = false;
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
/// <inheritdoc/>
|
|
79
|
+
protected override void Awake()
|
|
80
|
+
{
|
|
81
|
+
base.Awake();
|
|
82
|
+
|
|
83
|
+
renderingCodes.RemoveAll(string.IsNullOrWhiteSpace);
|
|
84
|
+
|
|
85
|
+
InitializeMissingCamera(ref dialogueCamera, dialogueCameraName);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/// <summary>
|
|
89
|
+
///
|
|
90
|
+
/// </summary>
|
|
91
|
+
/// <param name="camera"></param>
|
|
92
|
+
/// <param name="identifier"></param>
|
|
93
|
+
protected virtual void InitializeMissingCamera(ref UnityEngine.Camera camera, string identifier)
|
|
94
|
+
{
|
|
95
|
+
if (camera == null)
|
|
96
|
+
camera = FindObjectsByType<UnityEngine.Camera>()
|
|
97
|
+
.Where(camera => camera.gameObject.name.Contains(identifier))
|
|
98
|
+
.FirstOrDefault();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// <summary>
|
|
102
|
+
///
|
|
103
|
+
/// </summary>
|
|
104
|
+
protected virtual void Start() => blurCamCode.AddListener(EvaluateCameraCode);
|
|
105
|
+
|
|
106
|
+
/// <summary>
|
|
107
|
+
///
|
|
108
|
+
/// </summary>
|
|
109
|
+
protected virtual void OnDisable() => blurCamCode.RemoveListener(EvaluateCameraCode);
|
|
110
|
+
|
|
111
|
+
/// <summary>
|
|
112
|
+
///
|
|
113
|
+
/// </summary>
|
|
114
|
+
/// <param name="renderCode"></param>
|
|
115
|
+
protected virtual void EvaluateCameraCode(string renderCode)
|
|
116
|
+
{
|
|
117
|
+
if (!renderingCodes.Contains(renderCode))
|
|
118
|
+
AddRenderQueue(renderCode);
|
|
119
|
+
else
|
|
120
|
+
RemoveRenderQueue(renderCode);
|
|
121
|
+
}
|
|
122
|
+
#if DOTWEEN
|
|
123
|
+
/// <summary>
|
|
124
|
+
///
|
|
125
|
+
/// </summary>
|
|
126
|
+
protected virtual void Update()
|
|
127
|
+
{
|
|
128
|
+
if (lowSpecCamRender)
|
|
129
|
+
CheckIfCamerasTweening();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/// <summary>
|
|
133
|
+
///
|
|
134
|
+
/// </summary>
|
|
135
|
+
protected virtual void CheckIfCamerasTweening()
|
|
136
|
+
{
|
|
137
|
+
if (DOTween.IsTweening(dialogueCamera.transform) && !mainCameraIsTweening)
|
|
138
|
+
{
|
|
139
|
+
AddRenderQueue(renderCamCode);
|
|
140
|
+
|
|
141
|
+
mainCameraIsTweening = true;
|
|
142
|
+
}
|
|
143
|
+
else if (!DOTween.IsTweening(dialogueCamera.transform) && mainCameraIsTweening)
|
|
144
|
+
{
|
|
145
|
+
RemoveRenderQueue(renderCamCode);
|
|
146
|
+
|
|
147
|
+
mainCameraIsTweening = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
#endif
|
|
151
|
+
/// <summary>
|
|
152
|
+
///
|
|
153
|
+
/// </summary>
|
|
154
|
+
/// <param name="queueCode"></param>
|
|
155
|
+
public virtual void AddRenderQueue(string queueCode)
|
|
156
|
+
{
|
|
157
|
+
if (!lowSpecCamRender || string.IsNullOrEmpty(queueCode))
|
|
158
|
+
return;
|
|
159
|
+
|
|
160
|
+
if (renderingCodes.Count == 0)
|
|
161
|
+
blurCameraEnabled.SetValue(true);
|
|
162
|
+
|
|
163
|
+
UnityEngine.Debug.Log($"REPORT: {ToString()}: Adding to render queue" + queueCode);
|
|
164
|
+
|
|
165
|
+
renderingCodes.Add(queueCode);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// <summary>
|
|
169
|
+
///
|
|
170
|
+
/// </summary>
|
|
171
|
+
/// <param name="queueCode"></param>
|
|
172
|
+
public virtual void RemoveRenderQueue(string queueCode)
|
|
173
|
+
{
|
|
174
|
+
if (!lowSpecCamRender || string.IsNullOrEmpty(queueCode))
|
|
175
|
+
return;
|
|
176
|
+
|
|
177
|
+
renderingCodes.Remove(queueCode);
|
|
178
|
+
|
|
179
|
+
UnityEngine.Debug.Log($"REPORT: {ToString()}: Removing from render queue" + queueCode);
|
|
180
|
+
#if DOTWEEN
|
|
181
|
+
if (renderingCodes.Count == 0 && !DOTween.IsTweening(dialogueCamera.transform))
|
|
182
|
+
#else
|
|
183
|
+
if (renderingCodes.Count == 0)
|
|
184
|
+
#endif
|
|
185
|
+
blurCameraEnabled.SetValue(false);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/// <summary>
|
|
189
|
+
///
|
|
190
|
+
/// </summary>
|
|
191
|
+
/// <returns></returns>
|
|
192
|
+
public virtual bool UsingLowSpecCamRender() => lowSpecCamRender;
|
|
193
|
+
|
|
194
|
+
/// <summary>
|
|
195
|
+
///
|
|
196
|
+
/// </summary>
|
|
197
|
+
/// <param name="to"></param>
|
|
198
|
+
public virtual void SetLowSpecCamRender(bool to) => lowSpecCamRender = to;
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
/// <inheritdoc/>
|
|
202
|
+
public virtual void ToTitleScreen() => ClearRenderQ();
|
|
203
|
+
|
|
204
|
+
/// <summary>
|
|
205
|
+
///
|
|
206
|
+
/// </summary>
|
|
207
|
+
protected virtual void ClearRenderQ()
|
|
208
|
+
{
|
|
209
|
+
renderingCodes.Clear();
|
|
210
|
+
|
|
211
|
+
blurCameraEnabled.SetValue(false);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.CamerasPostProcess
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
[CreateAssetMenu(menuName = "DREditor/Game Settings/Blur Render Queue Settings", fileName = "BlurRenderQueueSettings")]
|
|
12
|
+
public class BlurRenderQueueSettings : ScriptableObject
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
[Header("")]
|
|
18
|
+
[Divider]
|
|
19
|
+
[Tooltip("")]
|
|
20
|
+
public bool useRenderQueue = false;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
public virtual void PopulateData(ScriptableObject obj)
|
|
24
|
+
{
|
|
25
|
+
if (obj is BlurRenderQueueSettings settings)
|
|
26
|
+
useRenderQueue = settings.useRenderQueue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.CustomSettings;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.CamerasPostProcess
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
[ClassHeader("")]
|
|
13
|
+
public class BlurSettingsHandler : MonoBehaviour, ICustomGameSettingsHandler
|
|
14
|
+
{
|
|
15
|
+
/// <summary>
|
|
16
|
+
///
|
|
17
|
+
/// </summary>
|
|
18
|
+
[Tooltip("")]
|
|
19
|
+
[SerializeField] protected string gameSettingID = "BlurCameraQueueManager";
|
|
20
|
+
|
|
21
|
+
/// <summary>
|
|
22
|
+
///
|
|
23
|
+
/// </summary>
|
|
24
|
+
[Tooltip("")]
|
|
25
|
+
[SerializeField] protected BlurCameraRenderManager blurCamManager;
|
|
26
|
+
|
|
27
|
+
/// <summary>
|
|
28
|
+
///
|
|
29
|
+
/// </summary>
|
|
30
|
+
[Tooltip("")]
|
|
31
|
+
[SerializeField] protected BlurRenderQueueSettings renderQueueSettings;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/// <inheritdoc/>
|
|
35
|
+
public virtual CustomGameSettings Save() => new(gameSettingID, CustomGameSettings.JObjectSerialize(renderQueueSettings));
|
|
36
|
+
|
|
37
|
+
/// <inheritdoc/>
|
|
38
|
+
public virtual void Load(List<CustomGameSettings> customSettings)
|
|
39
|
+
{
|
|
40
|
+
CustomGameSettings settings = customSettings.Where(x => x.ID == gameSettingID).ToList()[0];
|
|
41
|
+
|
|
42
|
+
BlurRenderQueueSettings loadedBlurSettings =
|
|
43
|
+
CustomGameSettings.JObjectDeserialize<BlurRenderQueueSettings>(settings.data);
|
|
44
|
+
|
|
45
|
+
LoadBlurSettings(loadedBlurSettings);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/// <summary>
|
|
49
|
+
///
|
|
50
|
+
/// </summary>
|
|
51
|
+
/// <param name="settings"></param>
|
|
52
|
+
protected virtual void LoadBlurSettings(BlurRenderQueueSettings settings)
|
|
53
|
+
{
|
|
54
|
+
renderQueueSettings.PopulateData(settings);
|
|
55
|
+
|
|
56
|
+
blurCamManager.SetLowSpecCamRender(settings.useRenderQueue);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if DOTWEEN
|
|
3
|
+
using DG.Tweening;
|
|
4
|
+
#endif
|
|
5
|
+
using DREditor.Dialogues.Events;
|
|
6
|
+
using UnityEngine;
|
|
7
|
+
using UnityEngine.Rendering;
|
|
8
|
+
using UnityEngine.Rendering.Universal;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.CamerasPostProcess
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[ClassHeader("")]
|
|
16
|
+
public class BlurVisionEvent : MonoBehaviour
|
|
17
|
+
{
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
[Header("")]
|
|
22
|
+
[Divider]
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[SerializeField] protected string blurVisionEventString = "BlurVision";
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected string stopBlurVisionEventString = "StopBlur";
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
/// <summary>
|
|
34
|
+
///
|
|
35
|
+
/// </summary>
|
|
36
|
+
[Header("")]
|
|
37
|
+
[Divider]
|
|
38
|
+
[Tooltip("")]
|
|
39
|
+
[SerializeField] protected Volume blurProfile = null;
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
///
|
|
43
|
+
/// </summary>
|
|
44
|
+
[Tooltip("")]
|
|
45
|
+
[SerializeField] protected UniversalAdditionalCameraData universalData = null;
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/// <summary>
|
|
49
|
+
///
|
|
50
|
+
/// </summary>
|
|
51
|
+
[Header("")]
|
|
52
|
+
[Divider]
|
|
53
|
+
[Tooltip("")]
|
|
54
|
+
[SerializeField] protected float focalSubtraction = 50;
|
|
55
|
+
|
|
56
|
+
/// <summary>
|
|
57
|
+
///
|
|
58
|
+
/// </summary>
|
|
59
|
+
[Tooltip("")]
|
|
60
|
+
[SerializeField] protected float focalEndValue = 300;
|
|
61
|
+
|
|
62
|
+
/// <summary>
|
|
63
|
+
///
|
|
64
|
+
/// </summary>
|
|
65
|
+
[Tooltip("")]
|
|
66
|
+
[SerializeField] protected float blurAnimationDuration = 1.75f;
|
|
67
|
+
|
|
68
|
+
/// <summary>
|
|
69
|
+
///
|
|
70
|
+
/// </summary>
|
|
71
|
+
[Tooltip("")]
|
|
72
|
+
[SerializeField] protected int blurAnimationLoopAmount = -1;
|
|
73
|
+
#if DOTWEEN
|
|
74
|
+
/// <summary>
|
|
75
|
+
///
|
|
76
|
+
/// </summary>
|
|
77
|
+
[Tooltip("")]
|
|
78
|
+
[SerializeField] protected LoopType blurAnimationLoopType = LoopType.Yoyo;
|
|
79
|
+
|
|
80
|
+
/// <summary>
|
|
81
|
+
///
|
|
82
|
+
/// </summary>
|
|
83
|
+
[Tooltip("")]
|
|
84
|
+
[SerializeField] protected Ease blurAnimationEaseCurve = Ease.InFlash;
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
/// <summary>
|
|
88
|
+
///
|
|
89
|
+
/// </summary>
|
|
90
|
+
[Header("")]
|
|
91
|
+
[Divider]
|
|
92
|
+
[Tooltip("")]
|
|
93
|
+
[SerializeField] protected float stopBlurFocalLength = 150;
|
|
94
|
+
|
|
95
|
+
/// <summary>
|
|
96
|
+
///
|
|
97
|
+
/// </summary>
|
|
98
|
+
[Tooltip("")]
|
|
99
|
+
[SerializeField] protected float stopBlurDuration = 1;
|
|
100
|
+
|
|
101
|
+
#if DOTWEEN
|
|
102
|
+
/// <summary>
|
|
103
|
+
///
|
|
104
|
+
/// </summary>
|
|
105
|
+
protected Tweener blurTween = null;
|
|
106
|
+
#endif
|
|
107
|
+
/// <summary>
|
|
108
|
+
///
|
|
109
|
+
/// </summary>
|
|
110
|
+
protected VolumeProfile prof;
|
|
111
|
+
|
|
112
|
+
/// <summary>
|
|
113
|
+
///
|
|
114
|
+
/// </summary>
|
|
115
|
+
protected float dofValue;
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
/// <summary>
|
|
119
|
+
///
|
|
120
|
+
/// </summary>
|
|
121
|
+
protected virtual void OnEnable()
|
|
122
|
+
{
|
|
123
|
+
DialogueEventSystem.StartListening(blurVisionEventString, BlurVision);
|
|
124
|
+
|
|
125
|
+
DialogueEventSystem.StartListening(stopBlurVisionEventString, StopBlur);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/// <summary>
|
|
129
|
+
///
|
|
130
|
+
/// </summary>
|
|
131
|
+
protected virtual void OnDisable()
|
|
132
|
+
{
|
|
133
|
+
DialogueEventSystem.StopListening(blurVisionEventString, BlurVision);
|
|
134
|
+
|
|
135
|
+
DialogueEventSystem.StopListening(stopBlurVisionEventString, StopBlur);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
/// <summary>
|
|
140
|
+
///
|
|
141
|
+
/// </summary>
|
|
142
|
+
/// <param name="o"></param>
|
|
143
|
+
protected virtual void BlurVision(object o = null)
|
|
144
|
+
{
|
|
145
|
+
prof = blurProfile.profile;
|
|
146
|
+
|
|
147
|
+
UniversalAdditionalCameraData data = universalData;
|
|
148
|
+
|
|
149
|
+
data.renderPostProcessing = true;
|
|
150
|
+
|
|
151
|
+
DepthOfField dof = GetDepthOfField();
|
|
152
|
+
|
|
153
|
+
if (dof != null)
|
|
154
|
+
{
|
|
155
|
+
dofValue = dof.focalLength.value;
|
|
156
|
+
|
|
157
|
+
dof.focalLength.value -= focalSubtraction;
|
|
158
|
+
#if DOTWEEN
|
|
159
|
+
blurTween = DOTween.To(() => dof.focalLength.value, x => dof.focalLength.value = x, focalEndValue, blurAnimationDuration)
|
|
160
|
+
.SetLoops(blurAnimationLoopAmount, blurAnimationLoopType)
|
|
161
|
+
.SetEase(blurAnimationEaseCurve);
|
|
162
|
+
#endif
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/// <summary>
|
|
167
|
+
///
|
|
168
|
+
/// </summary>
|
|
169
|
+
/// <param name="o"></param>
|
|
170
|
+
protected virtual void StopBlur(object o = null)
|
|
171
|
+
{
|
|
172
|
+
#if DOTWEEN
|
|
173
|
+
if (blurTween == null)
|
|
174
|
+
return;
|
|
175
|
+
|
|
176
|
+
blurTween.Kill();
|
|
177
|
+
|
|
178
|
+
DepthOfField dof = GetDepthOfField();
|
|
179
|
+
|
|
180
|
+
if (dof != null)
|
|
181
|
+
{
|
|
182
|
+
DOTween.To(() => dof.focalLength.value, x => dof.focalLength.value = x, stopBlurFocalLength, stopBlurDuration);
|
|
183
|
+
|
|
184
|
+
dof.focalLength.value = dofValue;
|
|
185
|
+
|
|
186
|
+
UniversalAdditionalCameraData data = universalData;
|
|
187
|
+
|
|
188
|
+
data.renderPostProcessing = false;
|
|
189
|
+
|
|
190
|
+
blurTween = null;
|
|
191
|
+
|
|
192
|
+
blurProfile.profile = prof;
|
|
193
|
+
}
|
|
194
|
+
#endif
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/// <summary>
|
|
198
|
+
///
|
|
199
|
+
/// </summary>
|
|
200
|
+
/// <returns></returns>
|
|
201
|
+
protected virtual DepthOfField GetDepthOfField()
|
|
202
|
+
{
|
|
203
|
+
if (blurProfile.profile.TryGet(out DepthOfField depthOfFieldComponent))
|
|
204
|
+
return depthOfFieldComponent;
|
|
205
|
+
else
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using UnityEngine.Rendering.Universal;
|
|
3
|
+
using UnityEngine.UI;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace DREditor.CamerasPostProcess
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
///
|
|
10
|
+
/// </summary>
|
|
11
|
+
public static class CameraPostProcessingExtentions
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
/// <param name="graphic"></param>
|
|
17
|
+
/// <param name="color"></param>
|
|
18
|
+
public static void ApplyColorNoAlpha(this Graphic graphic, Color color)
|
|
19
|
+
=> graphic.color = new Color(color.r, color.g, color.b);
|
|
20
|
+
|
|
21
|
+
/// <summary>
|
|
22
|
+
///
|
|
23
|
+
/// </summary>
|
|
24
|
+
/// <param name="camera"></param>
|
|
25
|
+
/// <param name="to"></param>
|
|
26
|
+
public static void SetPostProcessingTo(this UnityEngine.Camera camera, bool to)
|
|
27
|
+
=> camera.GetUniversalAdditionalCameraData().renderPostProcessing = to;
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
///
|
|
31
|
+
/// </summary>
|
|
32
|
+
/// <param name="camera"></param>
|
|
33
|
+
/// <returns></returns>
|
|
34
|
+
public static bool IsPostProcessingEnabled(this UnityEngine.Camera camera)
|
|
35
|
+
=> camera.GetUniversalAdditionalCameraData().renderPostProcessing;
|
|
36
|
+
|
|
37
|
+
/// <summary>
|
|
38
|
+
///
|
|
39
|
+
/// </summary>
|
|
40
|
+
/// <param name="camera"></param>
|
|
41
|
+
/// <returns></returns>
|
|
42
|
+
public static LayerMask GetVolumeMask(this UnityEngine.Camera camera)
|
|
43
|
+
=> camera.GetUniversalAdditionalCameraData().volumeLayerMask;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "DREditor.CamerasPostProcess",
|
|
3
|
+
"rootNamespace": "",
|
|
4
|
+
"references": [
|
|
5
|
+
"Unity.RenderPipelines.Universal.Runtime",
|
|
6
|
+
"Unity.RenderPipelines.Core.Runtime",
|
|
7
|
+
"DREditor",
|
|
8
|
+
"DREditor.Editor",
|
|
9
|
+
"DREditor.CustomSettings"
|
|
10
|
+
],
|
|
11
|
+
"includePlatforms": [],
|
|
12
|
+
"excludePlatforms": [],
|
|
13
|
+
"allowUnsafeCode": false,
|
|
14
|
+
"overrideReferences": false,
|
|
15
|
+
"precompiledReferences": [],
|
|
16
|
+
"autoReferenced": true,
|
|
17
|
+
"defineConstraints": [],
|
|
18
|
+
"versionDefines": [],
|
|
19
|
+
"noEngineReferences": false
|
|
20
|
+
}
|