parent
3e07a0220b
commit
b052b323c9
29 changed files with 3210 additions and 893 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,127 @@ |
||||
using UnityEngine; |
||||
using System.Collections; |
||||
|
||||
[ExecuteInEditMode] |
||||
[AddComponentMenu("RapidBlurEffect")] |
||||
public class RapidBlurEffect : MonoBehaviour |
||||
{ |
||||
#region Variables |
||||
|
||||
private string ShaderName = "RapidBlurEffect"; |
||||
public Shader CurShader; |
||||
private Material CurMaterial; |
||||
|
||||
public static int ChangeValue; |
||||
public static float ChangeValue2; |
||||
public static int ChangeValue3; |
||||
|
||||
[Range(0, 6), Tooltip("[降采样次数]向下采样的次数。此值越大,则采样间隔越大,需要处理的像素点越少,运行速度越快。")]
|
||||
public int DownSampleNum = 2; |
||||
[Range(0.0f, 20.0f), Tooltip("[模糊扩散度]进行高斯模糊时,相邻像素点的间隔。此值越大相邻像素间隔越远,图像越模糊。但过大的值会导致失真。")]
|
||||
public float BlurSpreadSize = 3.0f; |
||||
[Range(0, 8), Tooltip("[迭代次数]此值越大,则模糊操作的迭代次数越多,模糊效果越好,但消耗越大。")]
|
||||
public int BlurIterations = 3; |
||||
|
||||
#endregion |
||||
|
||||
#region MaterialGetAndSet |
||||
Material material |
||||
{ |
||||
get |
||||
{ |
||||
if (CurMaterial == null) |
||||
{ |
||||
CurMaterial = new Material(CurShader); |
||||
CurMaterial.hideFlags = HideFlags.HideAndDontSave; |
||||
} |
||||
return CurMaterial; |
||||
} |
||||
} |
||||
#endregion |
||||
|
||||
#region Functions |
||||
void Start() |
||||
{ |
||||
ChangeValue = DownSampleNum; |
||||
ChangeValue2 = BlurSpreadSize; |
||||
ChangeValue3 = BlurIterations; |
||||
CurShader = Shader.Find(ShaderName); |
||||
if (!SystemInfo.supportsImageEffects) |
||||
{ |
||||
enabled = false; |
||||
return; |
||||
} |
||||
} |
||||
|
||||
void OnRenderImage(RenderTexture sourceTexture, RenderTexture destTexture) |
||||
{ |
||||
if (CurShader != null) |
||||
{ |
||||
float widthMod = 1.0f / (1.0f * (1 << DownSampleNum)); |
||||
material.SetFloat("_DownSampleValue", BlurSpreadSize * widthMod); |
||||
sourceTexture.filterMode = FilterMode.Bilinear; |
||||
int renderWidth = sourceTexture.width >> DownSampleNum; |
||||
int renderHeight = sourceTexture.height >> DownSampleNum; |
||||
|
||||
RenderTexture renderBuffer = RenderTexture.GetTemporary(renderWidth, renderHeight, 0, sourceTexture.format); |
||||
renderBuffer.filterMode = FilterMode.Bilinear; |
||||
Graphics.Blit(sourceTexture, renderBuffer, material, 0); |
||||
|
||||
for (int i = 0; i < BlurIterations; i++) |
||||
{ |
||||
float iterationOffs = (i * 1.0f); |
||||
material.SetFloat("_DownSampleValue", BlurSpreadSize * widthMod + iterationOffs); |
||||
|
||||
RenderTexture tempBuffer = RenderTexture.GetTemporary(renderWidth, renderHeight, 0, sourceTexture.format); |
||||
Graphics.Blit(renderBuffer, tempBuffer, material, 1); |
||||
RenderTexture.ReleaseTemporary(renderBuffer); |
||||
renderBuffer = tempBuffer; |
||||
|
||||
tempBuffer = RenderTexture.GetTemporary(renderWidth, renderHeight, 0, sourceTexture.format); |
||||
Graphics.Blit(renderBuffer, tempBuffer, CurMaterial, 2); |
||||
RenderTexture.ReleaseTemporary(renderBuffer); |
||||
renderBuffer = tempBuffer; |
||||
} |
||||
|
||||
Graphics.Blit(renderBuffer, destTexture); |
||||
RenderTexture.ReleaseTemporary(renderBuffer); |
||||
} |
||||
else |
||||
{ |
||||
Graphics.Blit(sourceTexture, destTexture); |
||||
} |
||||
} |
||||
|
||||
void OnValidate() |
||||
{ |
||||
ChangeValue = DownSampleNum; |
||||
ChangeValue2 = BlurSpreadSize; |
||||
ChangeValue3 = BlurIterations; |
||||
} |
||||
|
||||
void Update() |
||||
{ |
||||
if (Application.isPlaying) |
||||
{ |
||||
DownSampleNum = ChangeValue; |
||||
BlurSpreadSize = ChangeValue2; |
||||
BlurIterations = ChangeValue3; |
||||
} |
||||
#if UNITY_EDITOR |
||||
if (Application.isPlaying != true) |
||||
{ |
||||
CurShader = Shader.Find(ShaderName); |
||||
} |
||||
#endif |
||||
} |
||||
|
||||
void OnDisable() |
||||
{ |
||||
if (CurMaterial) |
||||
{ |
||||
DestroyImmediate(CurMaterial); |
||||
} |
||||
} |
||||
|
||||
#endregion |
||||
} |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: db391acecb6758546b7696b0899c829a |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,130 @@ |
||||
using System; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using UnityEngine; |
||||
using UnityEngine.UI; |
||||
|
||||
public class SetChoiceEffect : MonoBehaviour |
||||
{ |
||||
|
||||
[SerializeField] |
||||
public RawImage rawImage; |
||||
|
||||
Material material; |
||||
|
||||
public float FlashDuration = 0.2f; // Duration for the flash effect |
||||
public float FadeDuration = 1.0f; // Duration for the fade effect |
||||
|
||||
public float MaxBloomAmount = 500.0f; // Maximum bloom amount |
||||
public float MinBloomAmount = 1.0f; // Minimum bloom amount |
||||
public float MaxBloomThreshold = 0.5f; // Maximum bloom threshold |
||||
public float MinBloomThreshold = 0.0f; // Minimum bloom threshold |
||||
|
||||
public float ImageOffsetY = 0.05f; // Offset for the image in the shader |
||||
|
||||
// Start is called before the first frame update |
||||
void Start() |
||||
{ |
||||
|
||||
if (rawImage == null) |
||||
{ |
||||
rawImage = GetComponentInChildren<RawImage>(); |
||||
} |
||||
|
||||
if (rawImage != null) |
||||
{ |
||||
material = rawImage.material; |
||||
// material = rawImage.GetComponent<Renderer>().material; |
||||
setChoice("reset"); // Set default effect |
||||
} |
||||
else |
||||
{ |
||||
Debug.LogError("RawImage component not found on this GameObject."); |
||||
} |
||||
} |
||||
|
||||
// Update is called once per frame |
||||
void Update() |
||||
{ |
||||
material.SetFloat("_OffsetY", ImageOffsetY); |
||||
|
||||
} |
||||
|
||||
|
||||
private IEnumerator FadeCoroutine(string name, float from, float to, float duration, Action onComplete = null, float delay = 0f) |
||||
{ |
||||
if (delay > 0f) |
||||
yield return new WaitForSeconds(delay); |
||||
|
||||
float elapsedTime = 0f; |
||||
while (elapsedTime < duration) |
||||
{ |
||||
float t = elapsedTime / duration; |
||||
// Ease in-out (smoothstep) |
||||
float easeT = t * t * (3f - 2f * t); |
||||
float value = Mathf.Lerp(from, to, easeT); |
||||
|
||||
material.SetFloat(name, value); |
||||
elapsedTime += Time.deltaTime; |
||||
yield return null; |
||||
} |
||||
material.SetFloat(name, to); // Ensure final value is set |
||||
|
||||
onComplete?.Invoke(); // Invoke the callback if provided |
||||
} |
||||
public void Reset() |
||||
{ |
||||
if (material != null) |
||||
{ |
||||
material.SetFloat("_BloomIntensity", MinBloomAmount); |
||||
material.SetFloat("_BloomThreshold", MaxBloomThreshold); |
||||
material.SetFloat("_FadeAmount", 1.0f); |
||||
} |
||||
else |
||||
{ |
||||
Debug.LogError("Material is not assigned."); |
||||
} |
||||
} |
||||
public void setChoice(string type) |
||||
{ |
||||
switch (type) |
||||
{ |
||||
case "save": |
||||
// material.SetFloat("_BloomAmount", 1.0f); |
||||
// material.SetFloat("_BloomThreshold", 0.0f); |
||||
material.SetFloat("_FadeAmount", 1.0f); |
||||
|
||||
// StartCoroutine(FadeCoroutine("_FadeAmount", 0.0f, 1.0f, FlashDuration)); |
||||
StartCoroutine(FadeCoroutine("_BloomIntensity", material.GetFloat("_BloomIntensity"), MaxBloomAmount, FlashDuration / 2)); |
||||
StartCoroutine(FadeCoroutine("_BloomThreshold", material.GetFloat("_BloomThreshold"), MinBloomThreshold, FlashDuration / 2, |
||||
() => |
||||
{ |
||||
// After the fade is complete, reset the bloom amount to 1.0f |
||||
StartCoroutine(FadeCoroutine("_BloomIntensity", material.GetFloat("_BloomIntensity"), MinBloomAmount, FlashDuration / 2, null, FlashDuration)); |
||||
StartCoroutine(FadeCoroutine("_BloomThreshold", material.GetFloat("_BloomThreshold"), MaxBloomThreshold, FlashDuration / 2, () => |
||||
{ |
||||
StartCoroutine(FadeCoroutine("_FadeAmount", material.GetFloat("_FadeAmount"), 0.0f, FadeDuration)); |
||||
}, FlashDuration)); |
||||
|
||||
} |
||||
)); |
||||
|
||||
|
||||
break; |
||||
case "discard": |
||||
// material.SetFloat("_BloomAmount", 1.0f); |
||||
// material.SetFloat("_BloomThreshold", 0.5f); |
||||
// material.SetFloat("_FadeAmount", 0.0f); |
||||
StartCoroutine(FadeCoroutine("_FadeAmount", material.GetFloat("_FadeAmount"), 0.0f, FadeDuration)); |
||||
StartCoroutine(FadeCoroutine("_BloomIntensity", material.GetFloat("_BloomIntensity"), MinBloomAmount, FadeDuration)); |
||||
break; |
||||
case "reset": |
||||
Reset(); |
||||
break; |
||||
default: |
||||
Debug.LogWarning("Unknown effect type: " + type); |
||||
|
||||
break; |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,11 @@ |
||||
fileFormatVersion: 2 |
||||
guid: ac56aed48ef8fb941bb6586983d4aabb |
||||
MonoImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,106 @@ |
||||
%YAML 1.1 |
||||
%TAG !u! tag:unity3d.com,2011: |
||||
--- !u!21 &2100000 |
||||
Material: |
||||
serializedVersion: 8 |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_Name: Material-mask |
||||
m_Shader: {fileID: -6465566751694194690, guid: 798c61437dd9e4745ad9c7a6dfd0bb78, 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: [] |
||||
m_LockedProperties: |
||||
m_SavedProperties: |
||||
serializedVersion: 3 |
||||
m_TexEnvs: |
||||
- _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} |
||||
- _MainTexture: |
||||
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} |
||||
- _Texture2D: |
||||
m_Texture: {fileID: 0} |
||||
m_Scale: {x: 1, y: 1} |
||||
m_Offset: {x: 0, y: 0} |
||||
m_Ints: [] |
||||
m_Floats: |
||||
- _BUILTIN_QueueControl: 0 |
||||
- _BUILTIN_QueueOffset: 0 |
||||
- _BumpScale: 1 |
||||
- _Cutoff: 0.5 |
||||
- _DetailNormalMapScale: 1 |
||||
- _DstBlend: 0 |
||||
- _GlossMapScale: 1 |
||||
- _Glossiness: 0.5 |
||||
- _GlossyReflections: 1 |
||||
- _Metallic: 0 |
||||
- _Mode: 0 |
||||
- _OcclusionStrength: 1 |
||||
- _Parallax: 0.02 |
||||
- _SmoothnessTextureChannel: 0 |
||||
- _SpecularHighlights: 1 |
||||
- _SrcBlend: 1 |
||||
- _UVSec: 0 |
||||
- _ZWrite: 1 |
||||
m_Colors: |
||||
- _Color: {r: 1, g: 1, b: 1, a: 1} |
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} |
||||
m_BuildTextureStacks: [] |
||||
--- !u!114 &5695128659653628996 |
||||
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: 639247ca83abc874e893eb93af2b5e44, type: 3} |
||||
m_Name: |
||||
m_EditorClassIdentifier: |
||||
version: 0 |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: a8b1e3279e4395247b3ed84ae1e1384e |
||||
NativeFormatImporter: |
||||
externalObjects: {} |
||||
mainObjectFileID: 2100000 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -1,105 +0,0 @@ |
||||
Shader "Unlit/NewUnlitShader" |
||||
{ |
||||
Properties |
||||
{ |
||||
_MainTex ("Texture", 2D) = "white" {} |
||||
} |
||||
SubShader |
||||
{ |
||||
Tags { "RenderType"="Opaque" } |
||||
LOD 100 |
||||
|
||||
Pass |
||||
{ |
||||
CGPROGRAM |
||||
#pragma vertex vert |
||||
#pragma fragment frag |
||||
// make fog work |
||||
#pragma multi_compile_fog |
||||
|
||||
#include "UnityCG.cginc" |
||||
|
||||
struct appdata |
||||
{ |
||||
float4 vertex : POSITION; |
||||
float2 uv : TEXCOORD0; |
||||
}; |
||||
|
||||
struct v2f |
||||
{ |
||||
float2 uv : TEXCOORD0; |
||||
UNITY_FOG_COORDS(1) |
||||
float4 vertex : SV_POSITION; |
||||
}; |
||||
|
||||
sampler2D _MainTex; |
||||
float4 _MainTex_ST; |
||||
|
||||
v2f vert (appdata v) |
||||
{ |
||||
v2f o; |
||||
o.vertex = UnityObjectToClipPos(v.vertex); |
||||
o.uv = TRANSFORM_TEX(v.uv, _MainTex); |
||||
UNITY_TRANSFER_FOG(o,o.vertex); |
||||
return o; |
||||
} |
||||
|
||||
fixed4 blur(float2 uv, sampler2D tex, float blurAmount, int iterations) |
||||
{ |
||||
fixed4 color = tex2D(tex, uv); |
||||
fixed2 offsets[4] = { float2(-blurAmount, 0), float2(blurAmount, 0), float2(0, -blurAmount), float2(0, blurAmount) }; |
||||
for (int iter = 0; iter < iterations; iter++) |
||||
{ |
||||
for (int i = 0; i < 4; i++) |
||||
{ |
||||
color += tex2D(tex, uv + offsets[i] * (iter + 1)); |
||||
} |
||||
} |
||||
return color / (1.0 + 4.0 * iterations); |
||||
} |
||||
|
||||
fixed luminance(fixed4 color) { |
||||
return 0.2125 * color.r + 0.7154 * color.g + 0.0721 * color.b; |
||||
} |
||||
fixed4 bloom(fixed4 col, float threshold, float intensity) |
||||
{ |
||||
// fixed4 col = tex2D(tex, uv); |
||||
fixed lum = luminance(col); |
||||
fixed val = clamp(lum - threshold, 0.0, 1.0); |
||||
|
||||
return col * (val * intensity); // Apply bloom effect by multiplying color with intensity |
||||
// } |
||||
} |
||||
|
||||
float2 fisheyeWarp(float2 uv, float strength) |
||||
{ |
||||
float2 center = float2(0.5, 0.5); |
||||
float2 delta = uv - center; |
||||
float dist = length(delta); |
||||
float theta = atan2(delta.y, delta.x); |
||||
float warpedDist = pow(dist, strength); |
||||
float2 warpedDelta = float2(cos(theta), sin(theta)) * warpedDist; |
||||
return center + warpedDelta; |
||||
} |
||||
|
||||
|
||||
fixed4 frag (v2f i) : SV_Target |
||||
{ |
||||
// sample the texture |
||||
v2f o; |
||||
o.uv = fisheyeWarp(i.uv, 1.1); // Apply fisheye warp effect |
||||
|
||||
|
||||
fixed4 col_raw = tex2D(_MainTex, o.uv); |
||||
fixed4 col_blur = blur(o.uv, _MainTex, 0.01, 2); // Apply blur with a small amount |
||||
fixed4 col_bloom = bloom(col_blur, 0.25, 5.0); // Apply bloom with threshold and intensity |
||||
fixed4 col = col_raw+col_blur * col_bloom; // Combine raw color with blurred and bloom effects |
||||
|
||||
// apply fog |
||||
UNITY_APPLY_FOG(i.fogCoord, col); |
||||
return col; |
||||
} |
||||
ENDCG |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,166 @@ |
||||
Shader "Unlit/NewUnlitShader" |
||||
{ |
||||
Properties |
||||
{ |
||||
_MainTex ("Texture", 2D) = "white" {} |
||||
_BloomThreshold ("Bloom Threshold", Float) = 0.25 |
||||
_BloomIntensity ("Bloom Intensity", Float) = 5.0 |
||||
_BlurAmount ("Blur Amount", Float) = 0.01 |
||||
_BlurIterations ("Blur Iterations", Int) = 2 |
||||
_FisheyeStrength ("Fisheye Strength", Float) = 1.1 |
||||
_Resolution ("Resolution", Vector) = (1080, 1920,0,0) |
||||
_OffsetY ("Offset Y", Float) = 0.2 |
||||
_FadeAmount ("Fade Amount", Float) = 1.0 |
||||
} |
||||
SubShader |
||||
{ |
||||
Tags { "RenderType"="Opaque" } |
||||
LOD 100 |
||||
|
||||
Pass |
||||
{ |
||||
CGPROGRAM |
||||
#pragma vertex vert |
||||
#pragma fragment frag |
||||
// make fog work |
||||
#pragma multi_compile_fog |
||||
|
||||
#include "UnityCG.cginc" |
||||
|
||||
struct appdata |
||||
{ |
||||
float4 vertex : POSITION; |
||||
float2 uv : TEXCOORD0; |
||||
}; |
||||
|
||||
struct v2f |
||||
{ |
||||
float2 uv : TEXCOORD0; |
||||
UNITY_FOG_COORDS(1) |
||||
float4 vertex : SV_POSITION; |
||||
}; |
||||
|
||||
sampler2D _MainTex; |
||||
float4 _MainTex_ST; |
||||
float _BloomThreshold; |
||||
float _BloomIntensity; |
||||
float _BlurAmount; |
||||
int _BlurIterations; |
||||
float _FisheyeStrength; |
||||
float2 _Resolution; |
||||
float _OffsetY; |
||||
float _FadeAmount; |
||||
|
||||
|
||||
v2f vert (appdata v) |
||||
{ |
||||
v2f o; |
||||
o.vertex = UnityObjectToClipPos(v.vertex); |
||||
o.uv = TRANSFORM_TEX(v.uv, _MainTex); |
||||
UNITY_TRANSFER_FOG(o,o.vertex); |
||||
return o; |
||||
} |
||||
|
||||
fixed4 blur(float2 uv, sampler2D tex, float blurAmount, int iterations) |
||||
{ |
||||
fixed4 color = tex2D(tex, uv); |
||||
// fixed2 offsets[4] = { float2(-blurAmount, 0), float2(blurAmount, 0), float2(0, -blurAmount), float2(0, blurAmount) }; |
||||
fixed2 offsets[8]={ |
||||
float2(-blurAmount, 0), float2(blurAmount, 0), |
||||
float2(0, -blurAmount), float2(0, blurAmount), |
||||
float2(-blurAmount, -blurAmount), float2(blurAmount, -blurAmount), |
||||
float2(-blurAmount, blurAmount), float2(blurAmount, blurAmount) |
||||
}; |
||||
int len=offsets.Length; |
||||
// fixed2 offsets[4] = { float2(0,-blurAmount), float2(0, blurAmount), float2(0, -blurAmount*2.0), float2(0,blurAmount*2.0) }; |
||||
|
||||
int it=min(iterations, 16); // Limit iterations to 4 for performance |
||||
for (int iter = 0; iter < it; iter++) |
||||
{ |
||||
for (int i = 0; i < len; i++) |
||||
{ |
||||
// Gaussian weights for 8 offsets (approximate) |
||||
// float weights[8] = {0.1531, 0.1531, 0.1531, 0.1531, 0.0925, 0.0925, 0.0925, 0.0925}; |
||||
// color += tex2D(tex, uv + offsets[i]/_Resolution * (iter + 1)) * weights[i]; |
||||
|
||||
color += tex2D(tex, uv + offsets[i]/_Resolution * (iter + 1)); |
||||
} |
||||
} |
||||
return color / (1.0 + len*it); |
||||
} |
||||
|
||||
fixed luminance(fixed4 color) { |
||||
return 0.2125 * color.r + 0.7154 * color.g + 0.0721 * color.b; |
||||
} |
||||
fixed4 bloom(fixed4 col, float threshold, float intensity) |
||||
{ |
||||
// fixed4 col = tex2D(tex, uv); |
||||
fixed lum = luminance(col); |
||||
fixed val = clamp(lum - threshold, 0.0, 1.0); |
||||
|
||||
return col * (val * intensity); // Apply bloom effect by multiplying color with intensity |
||||
// } |
||||
} |
||||
|
||||
float2 fisheyeWarp(float2 uv, float strength) |
||||
{ |
||||
float2 center = float2(0.5, 0.5); |
||||
float2 delta = uv - center; |
||||
float dist = length(delta); |
||||
float theta = atan2(delta.y, delta.x); |
||||
float warpedDist = pow(dist, strength); |
||||
float2 warpedDelta = float2(cos(theta), sin(theta)) * warpedDist; |
||||
return center + warpedDelta; |
||||
} |
||||
float2 mirror(float2 uv, float offsety) |
||||
{ |
||||
float y= uv.y*_Resolution.y; |
||||
float offset=offsety * _Resolution.y; |
||||
if (y < offset) |
||||
{ |
||||
// return float2(uv.x, 1.0-(offsety-uv.y)); |
||||
return float2(uv.x, (offsety- uv.y)/(_Resolution.x/_Resolution.y)); |
||||
} |
||||
else if(y < offset + _Resolution.x) |
||||
{ |
||||
return float2(uv.x, (uv.y-offsety)/(_Resolution.x/_Resolution.y)); |
||||
} |
||||
else |
||||
{ |
||||
return float2(uv.x, 1.0-(uv.y- offsety - _Resolution.x/_Resolution.y)/(_Resolution.x/_Resolution.y)); |
||||
} |
||||
|
||||
} |
||||
|
||||
fixed4 frag (v2f i) : SV_Target |
||||
{ |
||||
// sample the texture |
||||
v2f o; |
||||
o.uv=mirror(i.uv, _OffsetY); // Apply mirror effect based on offset |
||||
// o.uv = fisheyeWarp(o.uv, _FisheyeStrength); // Apply fisheye warp effect |
||||
|
||||
float dist= length(i.uv*_Resolution - float2(0.5, _OffsetY + _Resolution.x/_Resolution.y*0.5)* _Resolution)/_Resolution.x; // Calculate distance from center |
||||
// float dist = length(i.uv.y ); // Calculate distance from center |
||||
|
||||
dist=pow(1.0 - dist, 2.0); // Square the distance for a smoother fade effect |
||||
|
||||
fixed4 col_raw = tex2D(_MainTex, o.uv); |
||||
fixed4 col_blur = blur(o.uv, _MainTex, _BlurAmount*((1.0-dist)*4.0), _BlurIterations+floor((1.0-dist)*16.0)); // Apply blur with a small amount |
||||
fixed4 col_bloom = bloom(col_blur, _BloomThreshold, _BloomIntensity); // Apply bloom with threshold and intensity |
||||
|
||||
fixed4 col = col_blur*col_bloom + col_raw*(dist) + col_blur*(1.0-dist); // Combine raw color with blurred and bloom effects |
||||
|
||||
|
||||
col.rgb = col.rgb * col.a ; // Premultiplied alpha |
||||
col.a*= _FadeAmount; // Apply fade amount to alpha |
||||
|
||||
// col.r=col.g=col.b= ( dist); // Apply fade effect based on distance from center |
||||
|
||||
// apply fog |
||||
// UNITY_APPLY_FOG(i.fogCoord, col); |
||||
return col; // Return the final color with bloom effect |
||||
} |
||||
ENDCG |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,147 @@ |
||||
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' |
||||
|
||||
Shader "RapidBlurEffect" |
||||
{ |
||||
Properties |
||||
{ |
||||
_MainTex("Base (RGB)", 2D) = "white" {} |
||||
} |
||||
|
||||
SubShader |
||||
{ |
||||
ZWrite Off |
||||
Blend Off |
||||
|
||||
Pass |
||||
{ |
||||
ZTest Off |
||||
Cull Off |
||||
|
||||
CGPROGRAM |
||||
#pragma vertex vert_DownSmpl |
||||
#pragma fragment frag_DownSmpl |
||||
ENDCG |
||||
} |
||||
|
||||
Pass |
||||
{ |
||||
ZTest Always |
||||
Cull Off |
||||
|
||||
CGPROGRAM |
||||
#pragma vertex vert_BlurVertical |
||||
#pragma fragment frag_Blur |
||||
ENDCG |
||||
} |
||||
|
||||
Pass |
||||
{ |
||||
ZTest Always |
||||
Cull Off |
||||
|
||||
CGPROGRAM |
||||
#pragma vertex vert_BlurHorizontal |
||||
#pragma fragment frag_Blur |
||||
ENDCG |
||||
} |
||||
} |
||||
|
||||
CGINCLUDE |
||||
|
||||
#include "UnityCG.cginc" |
||||
|
||||
sampler2D _MainTex; |
||||
uniform half4 _MainTex_TexelSize; |
||||
uniform half _DownSampleValue; |
||||
|
||||
struct VertexInput |
||||
{ |
||||
float4 vertex : POSITION; |
||||
half2 texcoord : TEXCOORD0; |
||||
}; |
||||
|
||||
struct VertexOutput_DownSmpl |
||||
{ |
||||
float4 pos : SV_POSITION; |
||||
half2 uv20 : TEXCOORD0; |
||||
half2 uv21 : TEXCOORD1; |
||||
half2 uv22 : TEXCOORD2; |
||||
half2 uv23 : TEXCOORD3; |
||||
}; |
||||
|
||||
static const half4 GaussWeight[7] = |
||||
{ |
||||
half4(0.0205,0.0205,0.0205,0), |
||||
half4(0.0855,0.0855,0.0855,0), |
||||
half4(0.232,0.232,0.232,0), |
||||
half4(0.324,0.324,0.324,1), |
||||
half4(0.232,0.232,0.232,0), |
||||
half4(0.0855,0.0855,0.0855,0), |
||||
half4(0.0205,0.0205,0.0205,0) |
||||
}; |
||||
|
||||
VertexOutput_DownSmpl vert_DownSmpl(VertexInput v) |
||||
{ |
||||
VertexOutput_DownSmpl o; |
||||
o.pos = UnityObjectToClipPos(v.vertex); |
||||
o.uv20 = v.texcoord + _MainTex_TexelSize.xy* half2(0.5h, 0.5h);; |
||||
o.uv21 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h, -0.5h); |
||||
o.uv22 = v.texcoord + _MainTex_TexelSize.xy * half2(0.5h, -0.5h); |
||||
o.uv23 = v.texcoord + _MainTex_TexelSize.xy * half2(-0.5h, 0.5h); |
||||
return o; |
||||
} |
||||
|
||||
fixed4 frag_DownSmpl(VertexOutput_DownSmpl i) : SV_Target |
||||
{ |
||||
fixed4 color = (0,0,0,0); |
||||
color += tex2D(_MainTex, i.uv20); |
||||
color += tex2D(_MainTex, i.uv21); |
||||
color += tex2D(_MainTex, i.uv22); |
||||
color += tex2D(_MainTex, i.uv23); |
||||
return color / 4; |
||||
} |
||||
|
||||
struct VertexOutput_Blur |
||||
{ |
||||
float4 pos : SV_POSITION; |
||||
half4 uv : TEXCOORD0; |
||||
half2 offset : TEXCOORD1; |
||||
}; |
||||
|
||||
VertexOutput_Blur vert_BlurHorizontal(VertexInput v) |
||||
{ |
||||
VertexOutput_Blur o; |
||||
o.pos = UnityObjectToClipPos(v.vertex); |
||||
o.uv = half4(v.texcoord.xy, 1, 1); |
||||
o.offset = _MainTex_TexelSize.xy * half2(1.0, 0.0) * _DownSampleValue; |
||||
return o; |
||||
} |
||||
|
||||
VertexOutput_Blur vert_BlurVertical(VertexInput v) |
||||
{ |
||||
VertexOutput_Blur o; |
||||
o.pos = UnityObjectToClipPos(v.vertex); |
||||
o.uv = half4(v.texcoord.xy, 1, 1); |
||||
o.offset = _MainTex_TexelSize.xy * half2(0.0, 1.0) * _DownSampleValue; |
||||
return o; |
||||
} |
||||
|
||||
half4 frag_Blur(VertexOutput_Blur i) : SV_Target |
||||
{ |
||||
half2 uv = i.uv.xy; |
||||
half2 OffsetWidth = i.offset; |
||||
half2 uv_withOffset = uv - OffsetWidth * 3.0; |
||||
half4 color = 0; |
||||
for (int j = 0; j< 7; j++) |
||||
{ |
||||
half4 texCol = tex2D(_MainTex, uv_withOffset); |
||||
color += texCol * GaussWeight[j]; |
||||
uv_withOffset += OffsetWidth; |
||||
} |
||||
return color; |
||||
} |
||||
|
||||
ENDCG |
||||
|
||||
FallBack Off |
||||
} |
||||
@ -0,0 +1,9 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 86d6803e621c0cb4ab4566eaa6d160e2 |
||||
ShaderImporter: |
||||
externalObjects: {} |
||||
defaultTextures: [] |
||||
nonModifiableTextures: [] |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@ |
||||
fileFormatVersion: 2 |
||||
guid: f1557197ff75d21428f4ce29ce4f7a72 |
||||
guid: 798c61437dd9e4745ad9c7a6dfd0bb78 |
||||
ScriptedImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
|
After Width: | Height: | Size: 34 KiB |
@ -0,0 +1,114 @@ |
||||
fileFormatVersion: 2 |
||||
guid: d035b30d78746f74baa3ae99087ef3aa |
||||
TextureImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 13 |
||||
mipmaps: |
||||
mipMapMode: 0 |
||||
enableMipMap: 0 |
||||
sRGBTexture: 1 |
||||
linearTexture: 0 |
||||
fadeOut: 0 |
||||
borderMipMap: 0 |
||||
mipMapsPreserveCoverage: 0 |
||||
alphaTestReferenceValue: 0.5 |
||||
mipMapFadeDistanceStart: 1 |
||||
mipMapFadeDistanceEnd: 3 |
||||
bumpmap: |
||||
convertToNormalMap: 0 |
||||
externalNormalMap: 0 |
||||
heightScale: 0.25 |
||||
normalMapFilter: 0 |
||||
flipGreenChannel: 0 |
||||
isReadable: 0 |
||||
streamingMipmaps: 0 |
||||
streamingMipmapsPriority: 0 |
||||
vTOnly: 0 |
||||
ignoreMipmapLimit: 0 |
||||
grayScaleToAlpha: 0 |
||||
generateCubemap: 6 |
||||
cubemapConvolution: 0 |
||||
seamlessCubemap: 0 |
||||
textureFormat: 1 |
||||
maxTextureSize: 2048 |
||||
textureSettings: |
||||
serializedVersion: 2 |
||||
filterMode: 1 |
||||
aniso: 1 |
||||
mipBias: 0 |
||||
wrapU: 1 |
||||
wrapV: 1 |
||||
wrapW: 1 |
||||
nPOTScale: 0 |
||||
lightmap: 0 |
||||
compressionQuality: 50 |
||||
spriteMode: 1 |
||||
spriteExtrude: 1 |
||||
spriteMeshType: 1 |
||||
alignment: 0 |
||||
spritePivot: {x: 0.5, y: 0.5} |
||||
spritePixelsToUnits: 100 |
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
||||
spriteGenerateFallbackPhysicsShape: 1 |
||||
alphaUsage: 1 |
||||
alphaIsTransparency: 1 |
||||
spriteTessellationDetail: -1 |
||||
textureType: 8 |
||||
textureShape: 1 |
||||
singleChannelComponent: 0 |
||||
flipbookRows: 1 |
||||
flipbookColumns: 1 |
||||
maxTextureSizeSet: 0 |
||||
compressionQualitySet: 0 |
||||
textureFormatSet: 0 |
||||
ignorePngGamma: 0 |
||||
applyGammaDecoding: 0 |
||||
swizzle: 50462976 |
||||
cookieLightType: 0 |
||||
platformSettings: |
||||
- serializedVersion: 3 |
||||
buildTarget: DefaultTexturePlatform |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
- serializedVersion: 3 |
||||
buildTarget: Standalone |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
spriteSheet: |
||||
serializedVersion: 2 |
||||
sprites: [] |
||||
outline: [] |
||||
physicsShape: [] |
||||
bones: [] |
||||
spriteID: 5e97eb03825dee720800000000000000 |
||||
internalID: 0 |
||||
vertices: [] |
||||
indices: |
||||
edges: [] |
||||
weights: [] |
||||
secondaryTextures: [] |
||||
nameFileIdTable: {} |
||||
mipmapLimitGroupName: |
||||
pSDRemoveMatte: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
@ -0,0 +1,40 @@ |
||||
%YAML 1.1 |
||||
%TAG !u! tag:unity3d.com,2011: |
||||
--- !u!84 &8400000 |
||||
RenderTexture: |
||||
m_ObjectHideFlags: 0 |
||||
m_CorrespondingSourceObject: {fileID: 0} |
||||
m_PrefabInstance: {fileID: 0} |
||||
m_PrefabAsset: {fileID: 0} |
||||
m_Name: Share Texture |
||||
m_ImageContentsHash: |
||||
serializedVersion: 2 |
||||
Hash: 00000000000000000000000000000000 |
||||
m_ForcedFallbackFormat: 4 |
||||
m_DownscaleFallback: 0 |
||||
m_IsAlphaChannelOptional: 0 |
||||
serializedVersion: 5 |
||||
m_Width: 1241 |
||||
m_Height: 1754 |
||||
m_AntiAliasing: 1 |
||||
m_MipCount: -1 |
||||
m_DepthStencilFormat: 94 |
||||
m_ColorFormat: 8 |
||||
m_MipMap: 0 |
||||
m_GenerateMips: 1 |
||||
m_SRGB: 0 |
||||
m_UseDynamicScale: 0 |
||||
m_BindMS: 0 |
||||
m_EnableCompatibleFormat: 1 |
||||
m_EnableRandomWrite: 0 |
||||
m_TextureSettings: |
||||
serializedVersion: 2 |
||||
m_FilterMode: 1 |
||||
m_Aniso: 0 |
||||
m_MipBias: 0 |
||||
m_WrapU: 1 |
||||
m_WrapV: 1 |
||||
m_WrapW: 1 |
||||
m_Dimension: 2 |
||||
m_VolumeDepth: 1 |
||||
m_ShadowSamplingMode: 2 |
||||
@ -0,0 +1,8 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 91633495c7c9dd040b09afd52966b6d4 |
||||
NativeFormatImporter: |
||||
externalObjects: {} |
||||
mainObjectFileID: 8400000 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
|
After Width: | Height: | Size: 2.0 MiB |
@ -0,0 +1,114 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 74a4ddb15f59552448ac6ba871595188 |
||||
TextureImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 13 |
||||
mipmaps: |
||||
mipMapMode: 0 |
||||
enableMipMap: 1 |
||||
sRGBTexture: 1 |
||||
linearTexture: 0 |
||||
fadeOut: 0 |
||||
borderMipMap: 0 |
||||
mipMapsPreserveCoverage: 0 |
||||
alphaTestReferenceValue: 0.5 |
||||
mipMapFadeDistanceStart: 1 |
||||
mipMapFadeDistanceEnd: 3 |
||||
bumpmap: |
||||
convertToNormalMap: 0 |
||||
externalNormalMap: 0 |
||||
heightScale: 0.25 |
||||
normalMapFilter: 0 |
||||
flipGreenChannel: 0 |
||||
isReadable: 0 |
||||
streamingMipmaps: 0 |
||||
streamingMipmapsPriority: 0 |
||||
vTOnly: 0 |
||||
ignoreMipmapLimit: 0 |
||||
grayScaleToAlpha: 0 |
||||
generateCubemap: 6 |
||||
cubemapConvolution: 0 |
||||
seamlessCubemap: 0 |
||||
textureFormat: 1 |
||||
maxTextureSize: 2048 |
||||
textureSettings: |
||||
serializedVersion: 2 |
||||
filterMode: 1 |
||||
aniso: 1 |
||||
mipBias: 0 |
||||
wrapU: 1 |
||||
wrapV: 1 |
||||
wrapW: 1 |
||||
nPOTScale: 0 |
||||
lightmap: 0 |
||||
compressionQuality: 50 |
||||
spriteMode: 1 |
||||
spriteExtrude: 1 |
||||
spriteMeshType: 1 |
||||
alignment: 0 |
||||
spritePivot: {x: 0.5, y: 0.5} |
||||
spritePixelsToUnits: 100 |
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
||||
spriteGenerateFallbackPhysicsShape: 1 |
||||
alphaUsage: 1 |
||||
alphaIsTransparency: 1 |
||||
spriteTessellationDetail: -1 |
||||
textureType: 0 |
||||
textureShape: 1 |
||||
singleChannelComponent: 0 |
||||
flipbookRows: 1 |
||||
flipbookColumns: 1 |
||||
maxTextureSizeSet: 0 |
||||
compressionQualitySet: 0 |
||||
textureFormatSet: 0 |
||||
ignorePngGamma: 0 |
||||
applyGammaDecoding: 0 |
||||
swizzle: 50462976 |
||||
cookieLightType: 0 |
||||
platformSettings: |
||||
- serializedVersion: 3 |
||||
buildTarget: DefaultTexturePlatform |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
- serializedVersion: 3 |
||||
buildTarget: Standalone |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
spriteSheet: |
||||
serializedVersion: 2 |
||||
sprites: [] |
||||
outline: [] |
||||
physicsShape: [] |
||||
bones: [] |
||||
spriteID: 5e97eb03825dee720800000000000000 |
||||
internalID: 0 |
||||
vertices: [] |
||||
indices: |
||||
edges: [] |
||||
weights: [] |
||||
secondaryTextures: [] |
||||
nameFileIdTable: {} |
||||
mipmapLimitGroupName: |
||||
pSDRemoveMatte: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
|
After Width: | Height: | Size: 1.1 MiB |
@ -0,0 +1,114 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 18141dc259ffc2b4b991595ff03f8cab |
||||
TextureImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 13 |
||||
mipmaps: |
||||
mipMapMode: 0 |
||||
enableMipMap: 0 |
||||
sRGBTexture: 1 |
||||
linearTexture: 0 |
||||
fadeOut: 0 |
||||
borderMipMap: 0 |
||||
mipMapsPreserveCoverage: 0 |
||||
alphaTestReferenceValue: 0.5 |
||||
mipMapFadeDistanceStart: 1 |
||||
mipMapFadeDistanceEnd: 3 |
||||
bumpmap: |
||||
convertToNormalMap: 0 |
||||
externalNormalMap: 0 |
||||
heightScale: 0.25 |
||||
normalMapFilter: 0 |
||||
flipGreenChannel: 0 |
||||
isReadable: 0 |
||||
streamingMipmaps: 0 |
||||
streamingMipmapsPriority: 0 |
||||
vTOnly: 0 |
||||
ignoreMipmapLimit: 0 |
||||
grayScaleToAlpha: 0 |
||||
generateCubemap: 6 |
||||
cubemapConvolution: 0 |
||||
seamlessCubemap: 0 |
||||
textureFormat: 1 |
||||
maxTextureSize: 2048 |
||||
textureSettings: |
||||
serializedVersion: 2 |
||||
filterMode: 1 |
||||
aniso: 1 |
||||
mipBias: 0 |
||||
wrapU: 1 |
||||
wrapV: 1 |
||||
wrapW: 1 |
||||
nPOTScale: 0 |
||||
lightmap: 0 |
||||
compressionQuality: 50 |
||||
spriteMode: 1 |
||||
spriteExtrude: 1 |
||||
spriteMeshType: 1 |
||||
alignment: 0 |
||||
spritePivot: {x: 0.5, y: 0.5} |
||||
spritePixelsToUnits: 100 |
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
||||
spriteGenerateFallbackPhysicsShape: 1 |
||||
alphaUsage: 1 |
||||
alphaIsTransparency: 1 |
||||
spriteTessellationDetail: -1 |
||||
textureType: 8 |
||||
textureShape: 1 |
||||
singleChannelComponent: 0 |
||||
flipbookRows: 1 |
||||
flipbookColumns: 1 |
||||
maxTextureSizeSet: 0 |
||||
compressionQualitySet: 0 |
||||
textureFormatSet: 0 |
||||
ignorePngGamma: 0 |
||||
applyGammaDecoding: 0 |
||||
swizzle: 50462976 |
||||
cookieLightType: 0 |
||||
platformSettings: |
||||
- serializedVersion: 3 |
||||
buildTarget: DefaultTexturePlatform |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
- serializedVersion: 3 |
||||
buildTarget: Standalone |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
spriteSheet: |
||||
serializedVersion: 2 |
||||
sprites: [] |
||||
outline: [] |
||||
physicsShape: [] |
||||
bones: [] |
||||
spriteID: 5e97eb03825dee720800000000000000 |
||||
internalID: 0 |
||||
vertices: [] |
||||
indices: |
||||
edges: [] |
||||
weights: [] |
||||
secondaryTextures: [] |
||||
nameFileIdTable: {} |
||||
mipmapLimitGroupName: |
||||
pSDRemoveMatte: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
Binary file not shown.
@ -0,0 +1,18 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 78a73c90709a97142a13c7f2fa9ff9af |
||||
VideoClipImporter: |
||||
externalObjects: {} |
||||
serializedVersion: 2 |
||||
frameRange: 0 |
||||
startFrame: -1 |
||||
endFrame: -1 |
||||
colorSpace: 0 |
||||
deinterlace: 0 |
||||
encodeAlpha: 0 |
||||
flipVertical: 0 |
||||
flipHorizontal: 0 |
||||
importAudio: 1 |
||||
targetSettings: {} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,114 @@ |
||||
fileFormatVersion: 2 |
||||
guid: 01bdb051399131f4e9170755284a5360 |
||||
TextureImporter: |
||||
internalIDToNameTable: [] |
||||
externalObjects: {} |
||||
serializedVersion: 13 |
||||
mipmaps: |
||||
mipMapMode: 0 |
||||
enableMipMap: 0 |
||||
sRGBTexture: 1 |
||||
linearTexture: 0 |
||||
fadeOut: 0 |
||||
borderMipMap: 0 |
||||
mipMapsPreserveCoverage: 0 |
||||
alphaTestReferenceValue: 0.5 |
||||
mipMapFadeDistanceStart: 1 |
||||
mipMapFadeDistanceEnd: 3 |
||||
bumpmap: |
||||
convertToNormalMap: 0 |
||||
externalNormalMap: 0 |
||||
heightScale: 0.25 |
||||
normalMapFilter: 0 |
||||
flipGreenChannel: 0 |
||||
isReadable: 0 |
||||
streamingMipmaps: 0 |
||||
streamingMipmapsPriority: 0 |
||||
vTOnly: 0 |
||||
ignoreMipmapLimit: 0 |
||||
grayScaleToAlpha: 0 |
||||
generateCubemap: 6 |
||||
cubemapConvolution: 0 |
||||
seamlessCubemap: 0 |
||||
textureFormat: 1 |
||||
maxTextureSize: 2048 |
||||
textureSettings: |
||||
serializedVersion: 2 |
||||
filterMode: 1 |
||||
aniso: 1 |
||||
mipBias: 0 |
||||
wrapU: 1 |
||||
wrapV: 1 |
||||
wrapW: 1 |
||||
nPOTScale: 0 |
||||
lightmap: 0 |
||||
compressionQuality: 50 |
||||
spriteMode: 1 |
||||
spriteExtrude: 1 |
||||
spriteMeshType: 1 |
||||
alignment: 0 |
||||
spritePivot: {x: 0.5, y: 0.5} |
||||
spritePixelsToUnits: 100 |
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
||||
spriteGenerateFallbackPhysicsShape: 1 |
||||
alphaUsage: 1 |
||||
alphaIsTransparency: 1 |
||||
spriteTessellationDetail: -1 |
||||
textureType: 8 |
||||
textureShape: 1 |
||||
singleChannelComponent: 0 |
||||
flipbookRows: 1 |
||||
flipbookColumns: 1 |
||||
maxTextureSizeSet: 0 |
||||
compressionQualitySet: 0 |
||||
textureFormatSet: 0 |
||||
ignorePngGamma: 0 |
||||
applyGammaDecoding: 0 |
||||
swizzle: 50462976 |
||||
cookieLightType: 0 |
||||
platformSettings: |
||||
- serializedVersion: 3 |
||||
buildTarget: DefaultTexturePlatform |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
- serializedVersion: 3 |
||||
buildTarget: Standalone |
||||
maxTextureSize: 2048 |
||||
resizeAlgorithm: 0 |
||||
textureFormat: -1 |
||||
textureCompression: 1 |
||||
compressionQuality: 50 |
||||
crunchedCompression: 0 |
||||
allowsAlphaSplitting: 0 |
||||
overridden: 0 |
||||
ignorePlatformSupport: 0 |
||||
androidETC2FallbackOverride: 0 |
||||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
||||
spriteSheet: |
||||
serializedVersion: 2 |
||||
sprites: [] |
||||
outline: [] |
||||
physicsShape: [] |
||||
bones: [] |
||||
spriteID: 5e97eb03825dee720800000000000000 |
||||
internalID: 0 |
||||
vertices: [] |
||||
indices: |
||||
edges: [] |
||||
weights: [] |
||||
secondaryTextures: [] |
||||
nameFileIdTable: {} |
||||
mipmapLimitGroupName: |
||||
pSDRemoveMatte: 0 |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
||||
Loading…
Reference in new issue