diff --git a/Assets/01.Scenes/02.Combat.unity b/Assets/01.Scenes/02.Combat.unity index f42cc15e0..cfa8efaed 100644 --- a/Assets/01.Scenes/02.Combat.unity +++ b/Assets/01.Scenes/02.Combat.unity @@ -8708,6 +8708,7 @@ GameObject: m_Component: - component: {fileID: 1715186579} - component: {fileID: 1715186578} + - component: {fileID: 1715186580} m_Layer: 3 m_Name: PostProcessingVolume m_TagString: Untagged @@ -8747,6 +8748,19 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1715186580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715186577} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d287dbc75fdbb6b44bd97e6d0604b227, type: 3} + m_Name: + m_EditorClassIdentifier: + _persistent: 0 --- !u!1 &1719893243 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/01.Scenes/02.Combat/CombatPostProcessingVolume.asset b/Assets/01.Scenes/02.Combat/CombatPostProcessingVolume.asset index 210e94bf8..49c48da62 100644 --- a/Assets/01.Scenes/02.Combat/CombatPostProcessingVolume.asset +++ b/Assets/01.Scenes/02.Combat/CombatPostProcessingVolume.asset @@ -1,5 +1,21 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3394915221019087120 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: Grayscale + m_EditorClassIdentifier: Assembly-CSharp:BlueWater:Grayscale + active: 1 + Intensity: + m_OverrideState: 1 + m_Value: 1 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -14,6 +30,25 @@ MonoBehaviour: m_EditorClassIdentifier: components: - {fileID: 8563356217564074714} + - {fileID: -3394915221019087120} +--- !u!114 &1921075280319716275 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ba7ae2db732fa445ad4bbefe166c59f, type: 3} + m_Name: Grayscale + m_EditorClassIdentifier: + active: 1 + k__BackingField: + Intensity: + m_OverrideState: 1 + m_Value: 0 + IsActive: 0 --- !u!114 &8563356217564074714 MonoBehaviour: m_ObjectHideFlags: 3 diff --git a/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs b/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs index 5879e8038..72f11dc61 100644 --- a/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs +++ b/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs @@ -229,6 +229,8 @@ namespace BlueWater.Players.Combat private IEnumerator DieCoroutine() { + PostProcessingManager.Instance.ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, true); + PlayerInput.enabled = false; Rigidbody.linearVelocity = Vector3.zero; Rigidbody.isKinematic = true; diff --git a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs index 0bf46914b..5c7b1a193 100644 --- a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs +++ b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs @@ -70,11 +70,11 @@ namespace BlueWater.Players if (CurrentHealthPoint <= 2) { - CombatCameraManager.Instance.LowHpVignette(); + PostProcessingManager.Instance.LowHpVignette(); } else { - CombatCameraManager.Instance.DefaultHpVignette(); + PostProcessingManager.Instance.DefaultHpVignette(); } } diff --git a/Assets/02.Scripts/CombatCameraManager.cs b/Assets/02.Scripts/CombatCameraManager.cs index f683fe700..393fc2d1f 100644 --- a/Assets/02.Scripts/CombatCameraManager.cs +++ b/Assets/02.Scripts/CombatCameraManager.cs @@ -1,10 +1,6 @@ -using System.Collections; -using BlueWater.Utility; using Sirenix.OdinInspector; using Unity.Cinemachine; using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Rendering.Universal; namespace BlueWater { @@ -22,10 +18,6 @@ namespace BlueWater public Camera MainCamera; - // Variables - private Vignette _vignette; - private Coroutine _lowHpVignetteCoroutine; - #endregion // Unity events @@ -63,9 +55,6 @@ namespace BlueWater BaseCombatCamera.Priority = 1; MainCamera = Camera.main; - - _vignette = GetEffect(); - _vignette.active = false; } #endregion @@ -85,66 +74,5 @@ namespace BlueWater // } #endregion - - // PostProcessing - #region PostProcessing - - public void ToggleEffect(bool value) where T : VolumeComponent - { - var effect = GetEffect(); - if (effect == null) - { - print(typeof(T) + "효과가 없습니다."); - return; - } - effect.active = value; - } - - private T GetEffect() where T : VolumeComponent - { - var postProcessVolume = FindAnyObjectByType(); - if (postProcessVolume == null) - { - print("Volume 컴포넌트를 가진 오브젝트가 없습니다."); - return null; - } - postProcessVolume.profile.TryGet(out T effect); - return effect; - } - - public void LowHpVignette() - { - _lowHpVignetteCoroutine ??= StartCoroutine(LowHpVignetteCoroutine()); - } - - public void DefaultHpVignette() - { - Utils.EndUniqueCoroutine(this, ref _lowHpVignetteCoroutine); - _vignette.active = false; - } - - private IEnumerator LowHpVignetteCoroutine() - { - var startValue = 0.2f; - var endValue = 0.3f; - var time = 0f; - - _vignette.intensity.value = startValue; - _vignette.active = true; - - while (true) - { - time += Time.deltaTime * 2f; - _vignette.intensity.value = Mathf.Lerp(startValue, endValue, time); - if (time >= 1f) - { - (startValue, endValue) = (endValue, startValue); - time = 0f; - } - yield return null; - } - } - - #endregion } } \ No newline at end of file diff --git a/Assets/02.Scripts/GameManager.cs b/Assets/02.Scripts/GameManager.cs index f476d2323..edd926c17 100644 --- a/Assets/02.Scripts/GameManager.cs +++ b/Assets/02.Scripts/GameManager.cs @@ -18,6 +18,7 @@ namespace BlueWater public void InstantiateCombatPlayer(Vector3 position, Quaternion rotation = default) { + PostProcessingManager.Instance.ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, false); var instantiatePlayer = Instantiate(_combatPlayerPrefab, position, rotation).GetComponent(); CurrentCombatPlayer = instantiatePlayer; OnInstantiatePlayer?.Invoke(instantiatePlayer.transform); diff --git a/Assets/02.Scripts/PostProcessingManager.cs b/Assets/02.Scripts/PostProcessingManager.cs new file mode 100644 index 000000000..a8d7a581a --- /dev/null +++ b/Assets/02.Scripts/PostProcessingManager.cs @@ -0,0 +1,107 @@ +using System.Collections; +using BlueWater.Utility; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +namespace BlueWater +{ + public enum RendererFeatureName + { + None = 0, + GrayscaleRenderPassFeature + } + + public class PostProcessingManager : Singleton + { + private UniversalRenderPipelineAsset _currentRenderPipeline; + private ScriptableRendererData _currentRenderData; + private Volume _currentVolume; + private Coroutine _lowHpVignetteCoroutine; + + protected override void OnAwake() + { + Initialize(); + } + + protected override void OnApplicationQuit() + { + ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, false); + } + + private void Initialize() + { + _currentRenderPipeline = (UniversalRenderPipelineAsset)GraphicsSettings.currentRenderPipeline; + _currentRenderData = _currentRenderPipeline.rendererDataList[0]; + _currentVolume = GetComponent(); + } + + public void ToggleRendererFeature(RendererFeatureName featureName, bool value) + { + foreach (var element in _currentRenderData.rendererFeatures) + { + if (!string.Equals(element.name, featureName.ToString())) continue; + + element.SetActive(value); + return; + } + + Debug.Log($"{featureName}과 일치하는 기능이 없습니다."); + } + + public void ToggleEffect(bool value) where T : VolumeComponent + { + if (!_currentVolume) return; + + var effect = GetEffect(); + if (!effect) + { + print(typeof(T) + "효과가 없습니다."); + return; + } + effect.active = value; + } + + private T GetEffect() where T : VolumeComponent + { + if (!_currentVolume) return null; + + _currentVolume.profile.TryGet(out T effect); + return effect; + } + + public void LowHpVignette() + { + Utils.StartUniqueCoroutine(this, ref _lowHpVignetteCoroutine, LowHpVignetteCoroutine()); + } + + public void DefaultHpVignette() + { + Utils.EndUniqueCoroutine(this, ref _lowHpVignetteCoroutine); + ToggleEffect(false); + } + + private IEnumerator LowHpVignetteCoroutine() + { + var startValue = 0.2f; + var endValue = 0.3f; + var time = 0f; + + var vignette = GetEffect(); + vignette.intensity.value = startValue; + vignette.active = true; + + while (true) + { + time += Time.deltaTime * 2f; + vignette.intensity.value = Mathf.Lerp(startValue, endValue, time); + if (time >= 1f) + { + (startValue, endValue) = (endValue, startValue); + time = 0f; + } + yield return null; + } + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/PostProcessingManager.cs.meta b/Assets/02.Scripts/PostProcessingManager.cs.meta new file mode 100644 index 000000000..96b72275a --- /dev/null +++ b/Assets/02.Scripts/PostProcessingManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d287dbc75fdbb6b44bd97e6d0604b227 \ No newline at end of file diff --git a/Assets/02.Scripts/Skill/Enemy/Boss/TitanSlime/JumpSlam.cs b/Assets/02.Scripts/Skill/Enemy/Boss/TitanSlime/JumpSlam.cs index ff5e60bb2..e67fe10d6 100644 --- a/Assets/02.Scripts/Skill/Enemy/Boss/TitanSlime/JumpSlam.cs +++ b/Assets/02.Scripts/Skill/Enemy/Boss/TitanSlime/JumpSlam.cs @@ -15,7 +15,6 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills private AnimationController _animationController; private TitanSlimeState _titanSlimeState; private Rigidbody _userRigidbody; - private CapsuleCollider _userCollider; private Collider _targetCollider; private LayerMask _targetLayer; private float _colliderRadius; @@ -28,10 +27,9 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills _animationController = _titanSlime.AnimationController; _titanSlimeState = _titanSlime.TitanSlimeState; _userRigidbody = _titanSlime.Rigidbody; - _userCollider = _titanSlime.CharacterCollider; _targetCollider = _titanSlime.Target; _targetLayer = _titanSlime.TargetLayer; - _colliderRadius = _userCollider.radius * _titanSlime.transform.localScale.x; + _colliderRadius = _titanSlime.CharacterCollider.radius * _titanSlime.transform.localScale.x; } _jumpSlamData = (JumpSlamData)SkillData; HitColliders = new Collider[1]; @@ -138,7 +136,7 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills yield return StartCoroutine(_animationController.WaitForAnimationToRun("JumpSlam", success => animationStarted = success)); - if (!animationStarted) + if (!animationStarted || !SkillUser || !_userRigidbody || !_targetCollider) { EndSkill(0, actions[0]); yield break; @@ -147,12 +145,6 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills _userRigidbody.useGravity = false; _animationController.SetCurrentAnimationSpeed(_titanSlimeState.AnimationLength); - if (!_targetCollider) - { - EndSkill(0, actions[0]); - yield break; - } - var startPosition = SkillUser.transform.position; var targetPosition = _targetCollider.transform.position; var targetDistance = Vector3.Distance(targetPosition, startPosition); @@ -194,14 +186,22 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills yield return null; } - + + HideIndicator(); + var randomCooldown = Random.Range(_titanSlimeState.RandomCooldown.x, _titanSlimeState.RandomCooldown.y); + if (!SkillUser) + { + EndSkill(randomCooldown, actions[0]); + yield break; + } + + SkillUser.transform.position = endPosition; if (_titanSlimeState.HasRabbit) { AudioManager.Instance.PlaySfx("JumpSlamDown"); + VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera, + _titanSlimeState.JumpCameraShakingPower, _titanSlimeState.JumpCameraShakingDuration); } - HideIndicator(); - SkillUser.transform.position = endPosition; - var randomCooldown = Random.Range(_titanSlimeState.RandomCooldown.x, _titanSlimeState.RandomCooldown.y); DoAttack(endPosition); EndSkill(randomCooldown, actions[0]); @@ -215,7 +215,10 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills _animationController.ResetAnimationSpeed(); _animationController.SetAnimationParameter("isJumpSlam", false); _animationController.SetAnimationParameter("idleIndex", randomIdleIndex); - _userRigidbody.useGravity = true; + if (_userRigidbody) + { + _userRigidbody.useGravity = true; + } action?.Invoke(); Utils.StartUniqueCoroutine(this, ref CooldownCoroutineInstance,Utils.CoolDownCoroutine(cooldown, EndCooldown)); @@ -239,12 +242,6 @@ namespace BlueWater.Enemies.Bosses.TitanSlime.Skills private void DoAttack(Vector3 attackPosition) { - if (_titanSlimeState.HasRabbit) - { - VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera, - _titanSlimeState.JumpCameraShakingPower, _titanSlimeState.JumpCameraShakingDuration); - } - var hitCount = Physics.OverlapSphereNonAlloc(attackPosition, _colliderRadius, HitColliders, _targetLayer); for (var i = 0; i < hitCount; i++) { diff --git a/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs b/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs index 8f470d2ea..a5b1aefc0 100644 --- a/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs +++ b/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs @@ -189,6 +189,7 @@ namespace BlueWater.Uis public void MoveTitleScene() { + PostProcessingManager.Instance.ToggleRendererFeature(RendererFeatureName.GrayscaleRenderPassFeature, false); VisualFeedbackManager.Instance.SetBaseTimeScale(1f); SceneManager.LoadScene("00.CombatTitle"); } diff --git a/Assets/02.Scripts/Ui/Combat/ItemLootInfoUi.cs b/Assets/02.Scripts/Ui/Combat/ItemLootInfoUi.cs index b033e52ca..472019ea6 100644 --- a/Assets/02.Scripts/Ui/Combat/ItemLootInfoUi.cs +++ b/Assets/02.Scripts/Ui/Combat/ItemLootInfoUi.cs @@ -1,3 +1,4 @@ +using System; using TMPro; using UnityEngine; using UnityEngine.UI; @@ -40,6 +41,7 @@ namespace BlueWater.Uis public void Initialize() { + _rectTransform ??= GetComponent(); _rectTransform.DOAnchorPosX(-400f, 0f).OnComplete(() => { gameObject.SetActive(false); diff --git a/Assets/09.Shaders/GrayScale.shadergraph b/Assets/09.Shaders/GrayScale.shadergraph new file mode 100644 index 000000000..28d59f5fd --- /dev/null +++ b/Assets/09.Shaders/GrayScale.shadergraph @@ -0,0 +1,928 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "0c543114197c4a749e568a2c690fa5e2", + "m_Properties": [ + { + "m_Id": "b414e28881954dfba624121d6f32a56f" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "e5fb7de4c83442d08ac8889418d81df3" + } + ], + "m_Nodes": [ + { + "m_Id": "e691dee6f1124c8a94cfaf21167b6a8f" + }, + { + "m_Id": "7abdfc1a29c7483ea553eb232f56e5df" + }, + { + "m_Id": "95de9a53de5d443185ad5ab582e8073e" + }, + { + "m_Id": "bc1c4910bc2945719a4471471644cadb" + }, + { + "m_Id": "3e59a57ae2f2430b90f61779567f0eaf" + }, + { + "m_Id": "5f98f650f34347ba9924309640af1fa1" + }, + { + "m_Id": "9b9d20c147684325830360dfec1edbb2" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3e59a57ae2f2430b90f61779567f0eaf" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e691dee6f1124c8a94cfaf21167b6a8f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5f98f650f34347ba9924309640af1fa1" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3e59a57ae2f2430b90f61779567f0eaf" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "95de9a53de5d443185ad5ab582e8073e" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bc1c4910bc2945719a4471471644cadb" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9b9d20c147684325830360dfec1edbb2" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "bc1c4910bc2945719a4471471644cadb" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bc1c4910bc2945719a4471471644cadb" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3e59a57ae2f2430b90f61779567f0eaf" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "e691dee6f1124c8a94cfaf21167b6a8f" + }, + { + "m_Id": "7abdfc1a29c7483ea553eb232f56e5df" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_SubDatas": [], + "m_ActiveTargets": [ + { + "m_Id": "f34aaffdbf3b45cc816b9aa3b6b5a2fb" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "022de4a3056348a6b93d543a97659f10", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ScreenPositionMaterialSlot", + "m_ObjectId": "1e032218938b49938490947ea3c87e4a", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "UV", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [], + "m_ScreenSpaceType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalFullscreenSubTarget", + "m_ObjectId": "202a2e123a9643f2ad5900c4237cd467" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "279105f02d5c450b9ba1c481e4c93e93", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.2125999927520752, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBAMaterialSlot", + "m_ObjectId": "341db1be378d4843a275452455aca8f7", + "m_Id": 2, + "m_DisplayName": "Output", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Output", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3e59a57ae2f2430b90f61779567f0eaf", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -293.00006103515627, + "y": 247.00001525878907, + "width": 208.00001525878907, + "height": 302.0 + } + }, + "m_Slots": [ + { + "m_Id": "e0409fb3600d40ccb8afd44719495778" + }, + { + "m_Id": "ec827d75678e4b0f977fe0dafb92d6ca" + }, + { + "m_Id": "470b1c76a4d948718505607af0c192cf" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "470b1c76a4d948718505607af0c192cf", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4e82d1350b5840a1a3592777aa9c063e", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "5f98f650f34347ba9924309640af1fa1", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -293.00006103515627, + "y": 213.00001525878907, + "width": 120.00004577636719, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "877a47185d024170a673e5e94ed657b1" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "b414e28881954dfba624121d6f32a56f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Fullscreen.ShaderGraph.FullscreenData", + "m_ObjectId": "6b0bc4a1e1834b37b23efdaad5203dcc", + "m_Version": 0, + "m_fullscreenMode": 0, + "m_BlendMode": 0, + "m_SrcColorBlendMode": 0, + "m_DstColorBlendMode": 1, + "m_ColorBlendOperation": 0, + "m_SrcAlphaBlendMode": 0, + "m_DstAlphaBlendMode": 1, + "m_AlphaBlendOperation": 0, + "m_EnableStencil": false, + "m_StencilReference": 0, + "m_StencilReadMask": 255, + "m_StencilWriteMask": 255, + "m_StencilCompareFunction": 8, + "m_StencilPassOperation": 0, + "m_StencilFailOperation": 0, + "m_StencilDepthFailOperation": 0, + "m_DepthWrite": false, + "m_depthWriteMode": 0, + "m_AllowMaterialOverride": false, + "m_DepthTestMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "76b97013a73a4f55bf58a7b262ea0e22", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "7abdfc1a29c7483ea553eb232f56e5df", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "a8e198c891d04dabaf70e3da1ea13b04" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "877a47185d024170a673e5e94ed657b1", + "m_Id": 0, + "m_DisplayName": "Intensity", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.UniversalSampleBufferNode", + "m_ObjectId": "95de9a53de5d443185ad5ab582e8073e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "URP Sample Buffer", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -914.0001220703125, + "y": 107.0, + "width": 208.0, + "height": 313.0000305175781 + } + }, + "m_Slots": [ + { + "m_Id": "1e032218938b49938490947ea3c87e4a" + }, + { + "m_Id": "341db1be378d4843a275452455aca8f7" + } + ], + "synonyms": [ + "normal", + "motion vector", + "blit" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_BufferType": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3Node", + "m_ObjectId": "9b9d20c147684325830360dfec1edbb2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Vector 3", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -798.0000610351563, + "y": 482.0, + "width": 128.0, + "height": 125.0 + } + }, + "m_Slots": [ + { + "m_Id": "279105f02d5c450b9ba1c481e4c93e93" + }, + { + "m_Id": "fed6b789a3694760b9f12dab7fa298a3" + }, + { + "m_Id": "ec80bf1c9e4c41daa3064bb1ce8467e4" + }, + { + "m_Id": "022de4a3056348a6b93d543a97659f10" + } + ], + "synonyms": [ + "3", + "v3", + "vec3", + "float3" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a8e198c891d04dabaf70e3da1ea13b04", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "b414e28881954dfba624121d6f32a56f", + "m_Guid": { + "m_GuidSerialized": "f41e8b2c-05ec-455a-9260-b21ee84531ed" + }, + "m_Name": "Intensity", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "Intensity", + "m_DefaultReferenceName": "_Intensity", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DotProductNode", + "m_ObjectId": "bc1c4910bc2945719a4471471644cadb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Dot Product", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -564.0000610351563, + "y": 305.0000305175781, + "width": 208.00003051757813, + "height": 301.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "c6a588ed58414e0b98fe85b270bcef5d" + }, + { + "m_Id": "4e82d1350b5840a1a3592777aa9c063e" + }, + { + "m_Id": "cebbb9e79097430ba6f1331927572efd" + } + ], + "synonyms": [ + "scalar product" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c6a588ed58414e0b98fe85b270bcef5d", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cebbb9e79097430ba6f1331927572efd", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e0409fb3600d40ccb8afd44719495778", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "e5fb7de4c83442d08ac8889418d81df3", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "b414e28881954dfba624121d6f32a56f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e691dee6f1124c8a94cfaf21167b6a8f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "76b97013a73a4f55bf58a7b262ea0e22" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ec80bf1c9e4c41daa3064bb1ce8467e4", + "m_Id": 3, + "m_DisplayName": "Z", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Z", + "m_StageCapability": 3, + "m_Value": 0.0722000002861023, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "ec827d75678e4b0f977fe0dafb92d6ca", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "f34aaffdbf3b45cc816b9aa3b6b5a2fb", + "m_Datas": [ + { + "m_Id": "6b0bc4a1e1834b37b23efdaad5203dcc" + } + ], + "m_ActiveSubTarget": { + "m_Id": "202a2e123a9643f2ad5900c4237cd467" + }, + "m_AllowMaterialOverride": false, + "m_SurfaceType": 0, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": true, + "m_ReceiveShadows": true, + "m_DisableTint": false, + "m_AdditionalMotionVectorMode": 0, + "m_AlembicMotionVectors": false, + "m_SupportsLODCrossFade": false, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fed6b789a3694760b9f12dab7fa298a3", + "m_Id": 2, + "m_DisplayName": "Y", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Y", + "m_StageCapability": 3, + "m_Value": 0.7152000069618225, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Y" + ] +} + diff --git a/Assets/09.Shaders/GrayScale.shadergraph.meta b/Assets/09.Shaders/GrayScale.shadergraph.meta new file mode 100644 index 000000000..b8f1a5cd6 --- /dev/null +++ b/Assets/09.Shaders/GrayScale.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7d78a69be90ba2943972ae067bf105f9 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Assets/Universal Render Pipeline Asset_Renderer.asset b/Assets/Universal Render Pipeline Asset_Renderer.asset index b4ab99de0..a57f31414 100644 --- a/Assets/Universal Render Pipeline Asset_Renderer.asset +++ b/Assets/Universal Render Pipeline Asset_Renderer.asset @@ -26,7 +26,8 @@ MonoBehaviour: probeVolumeBlendStatesCS: {fileID: 0} m_RendererFeatures: - {fileID: 4569807759113227225} - m_RendererFeatureMap: d98bc4edf1376b3f + - {fileID: 6211218730862871007} + m_RendererFeatureMap: d98bc4edf1376b3fdf8155fb86ae3256 m_UseNativeRenderPass: 0 xrSystemData: {fileID: 0} postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} @@ -73,3 +74,23 @@ MonoBehaviour: surfaceData: 2 screenSpaceSettings: normalBlend: 0 +--- !u!114 &6211218730862871007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b00045f12942b46c698459096c89274e, type: 3} + m_Name: GrayscaleRenderPassFeature + m_EditorClassIdentifier: + m_Active: 0 + injectionPoint: 600 + fetchColorBuffer: 1 + requirements: 4 + passMaterial: {fileID: -876546973899608171, guid: 7d78a69be90ba2943972ae067bf105f9, type: 3} + passIndex: 0 + bindDepthStencilAttachment: 0 + m_Version: 1