This commit is contained in:
SweetJJuya 2024-10-10 14:41:47 +09:00
parent 0f8f398c99
commit ce32862586
11 changed files with 528 additions and 25 deletions

View File

@ -2338,13 +2338,14 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 347118453}
- {fileID: 737939132}
m_Father: {fileID: 1049919592}
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_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &186139409
MonoBehaviour:
@ -3718,6 +3719,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 346596724}
m_CullTransparentMesh: 1
--- !u!1 &347118452
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 347118453}
- component: {fileID: 347118455}
- component: {fileID: 347118454}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &347118453
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 347118452}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 186139408}
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 &347118454
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 347118452}
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: 0, g: 0, b: 0, a: 0.78431374}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
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 &347118455
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 347118452}
m_CullTransparentMesh: 1
--- !u!114 &350928419 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 529622739828575346, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
@ -4761,6 +4837,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
_goldAnimator: {fileID: 1308258170}
_goldText: {fileID: 677143483}
_animationTime: 1
--- !u!1 &440736213
GameObject:
m_ObjectHideFlags: 0
@ -8650,8 +8727,8 @@ MonoBehaviour:
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras:
- {fileID: 1355183327}
- {fileID: 1985878519}
- {fileID: 1355183327}
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
@ -13654,10 +13731,10 @@ MonoBehaviour:
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_Bits: 8
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_RenderPostProcessing: 1
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
@ -17482,7 +17559,9 @@ MonoBehaviour:
_currentPlayerHealth: 0
_playerMoveSpeedMultiplier: 0
_currentExp: 0
_expMultiplier: 0
_currentGold: 0
_goldMultiplier: 0
_currentLiquidAmountA: 0
_currentLiquidAmountB: 0
_currentLiquidAmountC: 0
@ -18512,7 +18591,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1733369987
RectTransform:
m_ObjectHideFlags: 0

View File

@ -78,6 +78,7 @@ MonoBehaviour:
components:
- {fileID: 8563356217564074714}
- {fileID: -3848577592826383421}
- {fileID: 4404516855583877853}
--- !u!114 &1921075280319716275
MonoBehaviour:
m_ObjectHideFlags: 3
@ -96,6 +97,52 @@ MonoBehaviour:
m_OverrideState: 1
m_Value: 0
IsActive: 0
--- !u!114 &4404516855583877853
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: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier:
active: 0
mode:
m_OverrideState: 1
m_Value: 1
gaussianStart:
m_OverrideState: 1
m_Value: 0
gaussianEnd:
m_OverrideState: 1
m_Value: 0
gaussianMaxRadius:
m_OverrideState: 1
m_Value: 1.5
highQualitySampling:
m_OverrideState: 1
m_Value: 0
focusDistance:
m_OverrideState: 1
m_Value: 10
aperture:
m_OverrideState: 1
m_Value: 5.6
focalLength:
m_OverrideState: 1
m_Value: 50
bladeCount:
m_OverrideState: 1
m_Value: 5
bladeCurvature:
m_OverrideState: 1
m_Value: 1
bladeRotation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &8563356217564074714
MonoBehaviour:
m_ObjectHideFlags: 3

View File

@ -1,6 +1,10 @@
using System;
using System.Collections.Generic;
using BlueWater.Items;
using BlueWater.Tycoons;
using UnityEditor.Rendering;
using UnityEngine;
using Random = UnityEngine.Random;
namespace BlueWater
@ -10,6 +14,11 @@ namespace BlueWater
public class CardDataSo : DataSo<CardData>
{
private Dictionary<string, int> _selectedCard = new Dictionary<string, int>(); // 선택된 카드를 저장함. <key = Idx / int = val>
public CardData GetCardData(string idxKey)
{
return GetDataByIdx(idxKey);
}
public CardData GetRandCardData()
{
@ -38,10 +47,47 @@ namespace BlueWater
}
}
//(임시) 카드 종류를 탐색해서 치환하는 작업 (리퀴드와 가니쉬에 해당함)
//확률적으로 문제가 있기 때문에, 해당 확률를 고려해서 카드를 변경시키는 기능
//EX -> 10레벨 상태에서 AddLiquidE 가 나왔을 경우 B, C 둘중 하나로 치환함
//만약에 5레벨보다 작으면 null값 리턴
public CardData SubstitutionLiquid(CardData cardData, LevelData levelData)
{
if (cardData.Idx.Equals("AddLiquidB") || cardData.Idx.Equals("AddLiquidC") || cardData.Idx.Equals("AddLiquidD") ||
cardData.Idx.Equals("AddLiquidE") || cardData.Idx.Equals("AddGarnish1") || cardData.Idx.Equals("AddGarnish2") || cardData.Idx.Equals("AddAllLiquid"))
{
int levelIdx = Int32.Parse(levelData.Idx);
if (levelIdx <= 5)
{
Debug.Log("<= 5");
return null;
}
else if (cardData.Idx.Equals("AddAllLiquid"))
{
return cardData;
}
List<CardData> activeLiquid = new List<CardData>();
if (levelIdx > 5) activeLiquid.Add(GetCardData("AddLiquidB"));
if (levelIdx > 10) activeLiquid.Add(GetCardData("AddLiquidC"));
if (levelIdx > 15) activeLiquid.Add(GetCardData("AddLiquidD"));
if (levelIdx > 20) activeLiquid.Add(GetCardData("AddLiquidE"));
if (levelIdx > 25) activeLiquid.Add(GetCardData("AddGarnish1"));
if (levelIdx > 30) activeLiquid.Add(GetCardData("AddGarnish2"));
// 액체 목록에서 랜덤하게 선택하여 반환
return activeLiquid[Random.Range(0, activeLiquid.Count)];
}
return cardData; // 해당 사항이 없으면 치환하지 않음
}
// 카드가 MAX값인지 확인할 때 - MAX값이면 true를 리턴
public bool CardMaxCheck(CardData cardData)
{
return _selectedCard.TryGetValue(cardData.Idx, out var value) && cardData.Max != 0 && value >= cardData.Max;
}
}
}

View File

@ -80,5 +80,19 @@ namespace BlueWater.Tycoons
return validCocktails;
}
public List<Barrel> GetActivatedBarrels()
{
return _barrels.Where(barrel => barrel.IsActivated).ToList();
}
public void AllAddBarrels(int addVal)
{
var activeBarrels = GetActivatedBarrels();
foreach (var VARIABLE in activeBarrels)
{
VARIABLE.SetCurrentAmount(VARIABLE.CurrentAmount + addVal, true);
}
}
}
}

View File

@ -74,7 +74,6 @@ public class TycoonCard : MonoBehaviour
//지정된 IDX값으로 정보값 초기화
public void SetCard(string cardIdx)
{
Debug.Log(cardIdx);
CardDataForIdx = TycoonManager.Instance.CardDataSo.GetDataByIdx(cardIdx);
Transform infoTransform = transform.Find("CardCom/Infomation");

View File

@ -31,6 +31,8 @@ namespace BlueWater.Uis
private TycoonCard _tycoonCard02Componet;
private TycoonCard _tycoonCard03Componet;
private LevelData _lvData;
private void Awake()
{
EventManager.OnLevelUp += Test;
@ -94,18 +96,29 @@ namespace BlueWater.Uis
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card01Key = card.Idx;
} while (TycoonManager.Instance.CardDataSo.CardMaxCheck(card));
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card01Key = card.Idx;
}
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card));
_tycoonCard01Componet.SetCard(card01Key);
var card02Key = "NULL VAL";
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card02Key = card.Idx;
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card02Key = card.Idx;
}
} while (TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card02Key.Equals(card01Key));
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card02Key.Equals(card01Key));
_tycoonCard02Componet.SetCard(card02Key);
@ -113,9 +126,14 @@ namespace BlueWater.Uis
do
{
card = TycoonManager.Instance.CardDataSo.GetRandCardData();
card03Key = card.Idx;
card = TycoonManager.Instance.CardDataSo.SubstitutionLiquid(card, _lvData);
if (card != null)
{
card03Key = card.Idx;
}
} while (TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card03Key.Equals(card01Key) || card03Key.Equals(card02Key));
} while (card == null || TycoonManager.Instance.CardDataSo.CardMaxCheck(card) || card03Key.Equals(card01Key) || card03Key.Equals(card02Key));
_tycoonCard03Componet.SetCard(card03Key);
//-------------
@ -127,7 +145,8 @@ namespace BlueWater.Uis
private void Test(LevelData levelData)
{
if (levelData.Idx == "1") return;
_lvData = levelData;
if (_lvData.Idx == "1") return;
CreateCard();
}
@ -137,9 +156,9 @@ namespace BlueWater.Uis
switch (currTycoonCard.CardDataForIdx.Idx) //탐색 후 행동...
{
case "HeartPlus":
TycoonManager.Instance.TycoonStatus.MaxPlayerHealth += 1 ;break;
TycoonManager.Instance.TycoonStatus.MaxPlayerHealth += 2 ;break;
case "HeartHeal":
TycoonManager.Instance.TycoonStatus.CurrentPlayerHealth += 1 ;break;
TycoonManager.Instance.TycoonStatus.CurrentPlayerHealth += 2 ;break;
case "HeartAllHeal":
TycoonManager.Instance.TycoonStatus.CurrentPlayerHealth = TycoonManager.Instance.TycoonStatus.MaxPlayerHealth ;break;
case "AddLiquidB":
@ -154,9 +173,8 @@ namespace BlueWater.Uis
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount1 += 4000;break;
case "AddGarnish2":
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 4000;break;
case "AddAllLiquid":
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount1 += 1000;
TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 1000;break;
case "AddAllLiquid":
TycoonManager.Instance.TycoonIngredientController.AllAddBarrels(1000); break;
// case "ServerNpc": return; break;
// case "CleanerNpc": return; break;
// case "ChefNpc": return; break;
@ -229,7 +247,6 @@ namespace BlueWater.Uis
endPosition02 = new Vector2(-1500, startPosition02.y); // 목표 위치(좌측)
}
float time = 0.0f; // 타이머 초기화
int rotationDirection = Random.Range(0, 2) * 2 - 1; // 결과는 -1 또는 1

View File

@ -10,16 +10,13 @@ namespace BlueWater
private float _baseTimeScale = 1f;
private float _currentHitStopCoefficient = 1f;
protected override void OnAwake()
private void Start()
{
base.OnAwake();
ResetTimeScale();
}
public void SetBaseTimeScale(float value)
{
print("테스트");
_baseTimeScale = value;
UpdateTimeScale();
}

View File

@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6318621047611177644
MonoBehaviour:
m_ObjectHideFlags: 11
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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 9
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TycoonUiBlur
m_Shader: {fileID: 4800000, guid: 1920eb1aecf76cb4f999dcbcf4c56b19, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _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}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 20a20b860dc12774b93b1acd5685d9f7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,152 @@
Shader "Hidden/TycoonUiBlur"
{
Properties
{
_Radius("Radius", Range(1, 255)) = 1
}
Category
{
Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Opaque" }
SubShader
{
GrabPass
{
Tags{ "LightMode" = "Always" }
}
Pass
{
Tags{ "LightMode" = "Always" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float2 texcoord: TEXCOORD0;
};
struct v2f
{
float4 vertex : POSITION;
float4 uvgrab : TEXCOORD0;
};
v2f vert(appdata_t v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
float scale = -1.0;
#else
float scale = 1.0;
#endif
o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*scale) + o.vertex.w) * 0.5;
o.uvgrab.zw = o.vertex.zw;
return o;
}
sampler2D _GrabTexture;
float4 _GrabTexture_TexelSize;
float _Radius;
half4 frag(v2f i) : COLOR
{
half4 sum = half4(0,0,0,0);
#define GRABXYPIXEL(kernelx, kernely) tex2Dproj( _GrabTexture, UNITY_PROJ_COORD(float4(i.uvgrab.x + _GrabTexture_TexelSize.x * kernelx, i.uvgrab.y + _GrabTexture_TexelSize.y * kernely, i.uvgrab.z, i.uvgrab.w)))
sum += GRABXYPIXEL(0.0, 0.0);
int measurments = 1;
for (float range = 0.1f; range <= _Radius; range += 0.1f)
{
sum += GRABXYPIXEL(range, range);
sum += GRABXYPIXEL(range, -range);
sum += GRABXYPIXEL(-range, range);
sum += GRABXYPIXEL(-range, -range);
measurments += 4;
}
return sum / measurments;
}
ENDCG
}
GrabPass
{
Tags{ "LightMode" = "Always" }
}
Pass
{
Tags{ "LightMode" = "Always" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
struct appdata_t
{
float4 vertex : POSITION;
float2 texcoord: TEXCOORD0;
};
struct v2f
{
float4 vertex : POSITION;
float4 uvgrab : TEXCOORD0;
};
v2f vert(appdata_t v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
float scale = -1.0;
#else
float scale = 1.0;
#endif
o.uvgrab.xy = (float2(o.vertex.x, o.vertex.y*scale) + o.vertex.w) * 0.5;
o.uvgrab.zw = o.vertex.zw;
return o;
}
sampler2D _GrabTexture;
float4 _GrabTexture_TexelSize;
float _Radius;
half4 frag(v2f i) : COLOR
{
half4 sum = half4(0,0,0,0);
float radius = 1.41421356237 * _Radius;
#define GRABXYPIXEL(kernelx, kernely) tex2Dproj( _GrabTexture, UNITY_PROJ_COORD(float4(i.uvgrab.x + _GrabTexture_TexelSize.x * kernelx, i.uvgrab.y + _GrabTexture_TexelSize.y * kernely, i.uvgrab.z, i.uvgrab.w)))
sum += GRABXYPIXEL(0.0, 0.0);
int measurments = 1;
for (float range = 1.41421356237f; range <= radius * 1.41; range += 1.41421356237f)
{
sum += GRABXYPIXEL(range, 0);
sum += GRABXYPIXEL(-range, 0);
sum += GRABXYPIXEL(0, range);
sum += GRABXYPIXEL(0, -range);
measurments += 4;
}
return sum / measurments;
}
ENDCG
}
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1920eb1aecf76cb4f999dcbcf4c56b19
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant: