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 |
fileFormatVersion: 2 |
||||||
guid: f1557197ff75d21428f4ce29ce4f7a72 |
guid: 798c61437dd9e4745ad9c7a6dfd0bb78 |
||||||
ScriptedImporter: |
ScriptedImporter: |
||||||
internalIDToNameTable: [] |
internalIDToNameTable: [] |
||||||
externalObjects: {} |
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