Add : 아이시아 티저영상 개인 파일 업데이트

This commit is contained in:
KINDNICK 2025-08-15 00:59:54 +09:00
parent 887f697373
commit 00eae7c315
482 changed files with 97975 additions and 593 deletions

8
Assets/External/MK.meta vendored Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e705e6a8d7eda6f4cb23875b4230a638
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/External/MK/MKGlow.meta vendored Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59b975a22dd5e73409499bb6deb31c76
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 092c0966d665ec34c9cd11c1bd9cccfe
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 383bd63fc31bd7048b8da19f44576219
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/External/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp0.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 464b88f9d0ec28d448ab2379d262ab32
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp0.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp1.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: defcb6cdae7bc654382bef77b811f4e4
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp1.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp2.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: af22540a4db1e7149987f538bc8f9e49
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp2.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp3.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 7cedf218336c70a43af65c3dac182e3d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp3.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp4.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 72d44b00078bfc44d82b0eddc168e675
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensFlareRamp/LensFlareRamp4.png
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d52fc401fded2c446bf178c5bd5c1912
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: f38349b78c66e224abac4956ea2546b8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDiffraction/LensSurfaceDiffraction0.png
uploadId: 759966

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: c7a4475ca89fc4e42affdae13fa5ff85
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDiffraction/LensSurfaceDiffraction1.png
uploadId: 759966

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 0b3116a1232bd694098327ba7a9e2ba7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDiffraction/LensSurfaceDiffraction2.png
uploadId: 759966

Binary file not shown.

View File

@ -0,0 +1,153 @@
fileFormatVersion: 2
guid: 93f104cfbc087c54995658ed0219eda5
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 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: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 1
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDiffraction/LensSurfaceDiffraction3.png
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 969868cfc6bf117468f6ca799d43f5d1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt01.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: 644fca0d1e9329848932c42e9cc97020
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt01.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt02.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: 392f4777af2b34648a02d57c5d5e3738
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt02.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt03.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: 71beed926701142479f09d0ff146c69f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt03.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt04.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: 6a54ae0fd53a51b4b9a538952f56a835
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt04.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt05.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: a8780935c28bed1469eeba0ef8c7aa4b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt05.png
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt06.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,165 @@
fileFormatVersion: 2
guid: f7f65a67f38885447b65b86b3aabc5b9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/LensSurfaceDirt/LensDirt06.png
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2d4c075f8f298f746bb65895ae354575
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/External/MK/MKGlow/Builtin/Resources/MKGlowResources.asset (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 7214a85d80cb30a45abb28ccee32f5be
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Builtin/Resources/MKGlowResources.asset
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 30f305de2542ec04386aa26ee19f1cf8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/External/MK/MKGlow/Components/HDRP_Component.unitypackage (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: f2f5010b28984bb4bbefab59783e4af7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Components/HDRP_Component.unitypackage
uploadId: 759966

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 7ece90080f7007f4db6f78bd39a0e8e0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Components/LWRP_And_PPSV2_Component.unitypackage
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Components/Legacy_Component.unitypackage (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: e23011fe725f58745b8a39c9899d4b21
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Components/Legacy_Component.unitypackage
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 39386e655e3df7b4dbd710e298c22bce
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 270367534f4f0b84bb392b641025802a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,21 @@
{
"name": "MK.Glow.URP.Editor",
"references": [
"GUID:c579267770062bf448e75eb160330b7f",
"GUID:bf0220fd1bb918740b112a52cefae584",
"GUID:3eae0364be2026648bf74846acb8a731",
"GUID:cb19445e095596046a336416b28b0cc9",
"GUID:df380645f10b7bc4b97d4f5eb6303d95"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1ebf62abe0fd1584cbced062ff578b64
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,387 @@
//////////////////////////////////////////////////////
// MK Glow Editor URP //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Rendering;
using UnityEngine;
using MK.Glow.Editor;
namespace MK.Glow.URP.Editor
{
using Tooltips = MK.Glow.Editor.EditorHelper.EditorUIContent.Tooltips;
#if UNITY_2022_2_OR_NEWER
[CustomEditor(typeof(MK.Glow.URP.MKGlow))]
#else
[VolumeComponentEditor(typeof(MK.Glow.URP.MKGlow))]
#endif
internal class MKGlowEditor : VolumeComponentEditor
{
//Behaviors
private SerializedDataParameter _showEditorMainBehavior;
private SerializedDataParameter _showEditorBloomBehavior;
private SerializedDataParameter _showEditorLensSurfaceBehavior;
private SerializedDataParameter _showEditorLensFlareBehavior;
private SerializedDataParameter _showEditorGlareBehavior;
private SerializedDataParameter _isInitialized;
//Main
private SerializedDataParameter _allowGeometryShaders;
private SerializedDataParameter _allowComputeShaders;
private SerializedDataParameter _renderPriority;
private SerializedDataParameter _debugView;
private SerializedDataParameter _quality;
private SerializedDataParameter _antiFlickerMode;
private SerializedDataParameter _workflow;
private SerializedDataParameter _selectiveRenderLayerMask;
private SerializedDataParameter _anamorphicRatio;
private SerializedDataParameter _lumaScale;
private SerializedDataParameter _blooming;
//Bloom
private SerializedDataParameter _bloomThreshold;
private SerializedDataParameter _bloomScattering;
private SerializedDataParameter _bloomIntensity;
//Lens Surface
private SerializedDataParameter _allowLensSurface;
private SerializedDataParameter _lensSurfaceDirtTexture;
private SerializedDataParameter _lensSurfaceDirtIntensity;
private SerializedDataParameter _lensSurfaceDiffractionTexture;
private SerializedDataParameter _lensSurfaceDiffractionIntensity;
//Lens Flare
private SerializedDataParameter _allowLensFlare;
private SerializedDataParameter _lensFlareStyle;
private SerializedDataParameter _lensFlareGhostFade;
private SerializedDataParameter _lensFlareGhostIntensity;
private SerializedDataParameter _lensFlareThreshold;
private SerializedDataParameter _lensFlareScattering;
private SerializedDataParameter _lensFlareColorRamp;
private SerializedDataParameter _lensFlareChromaticAberration;
private SerializedDataParameter _lensFlareGhostCount;
private SerializedDataParameter _lensFlareGhostDispersal;
private SerializedDataParameter _lensFlareHaloFade;
private SerializedDataParameter _lensFlareHaloIntensity;
private SerializedDataParameter _lensFlareHaloSize;
//Glare
private SerializedDataParameter _allowGlare;
private SerializedDataParameter _glareBlend;
private SerializedDataParameter _glareIntensity;
private SerializedDataParameter _glareThreshold;
private SerializedDataParameter _glareScattering;
private SerializedDataParameter _glareAngle;
private SerializedDataParameter _glareStyle;
private SerializedDataParameter _glareStreaks;
private SerializedDataParameter _glareSample0Scattering;
private SerializedDataParameter _glareSample0Intensity;
private SerializedDataParameter _glareSample0Angle;
private SerializedDataParameter _glareSample0Offset;
private SerializedDataParameter _glareSample1Scattering;
private SerializedDataParameter _glareSample1Intensity;
private SerializedDataParameter _glareSample1Angle;
private SerializedDataParameter _glareSample1Offset;
private SerializedDataParameter _glareSample2Scattering;
private SerializedDataParameter _glareSample2Intensity;
private SerializedDataParameter _glareSample2Angle;
private SerializedDataParameter _glareSample2Offset;
private SerializedDataParameter _glareSample3Scattering;
private SerializedDataParameter _glareSample3Intensity;
private SerializedDataParameter _glareSample3Angle;
private SerializedDataParameter _glareSample3Offset;
PropertyFetcher<MK.Glow.URP.MKGlow> propertyFetcher;
public override void OnEnable()
{
propertyFetcher = new PropertyFetcher<MK.Glow.URP.MKGlow>(serializedObject);
//Editor
_showEditorBloomBehavior = Unpack(propertyFetcher.Find(x => x.showEditorBloomBehavior));
_showEditorMainBehavior = Unpack(propertyFetcher.Find(x => x.showEditorMainBehavior));
_showEditorBloomBehavior = Unpack(propertyFetcher.Find(x => x.showEditorBloomBehavior));
_showEditorLensSurfaceBehavior = Unpack(propertyFetcher.Find(x => x.showEditorLensSurfaceBehavior));
_showEditorLensFlareBehavior = Unpack(propertyFetcher.Find(x => x.showEditorLensFlareBehavior));
_showEditorGlareBehavior = Unpack(propertyFetcher.Find(x => x.showEditorGlareBehavior));
_isInitialized = Unpack(propertyFetcher.Find(x => x.isInitialized));
//Main
_allowGeometryShaders = Unpack(propertyFetcher.Find(x => x.allowGeometryShaders));
_allowComputeShaders = Unpack(propertyFetcher.Find(x => x.allowComputeShaders));
_renderPriority = Unpack(propertyFetcher.Find(x => x.renderPriority));
_debugView = Unpack(propertyFetcher.Find(x => x.debugView));
_quality = Unpack(propertyFetcher.Find(x => x.quality));
_antiFlickerMode = Unpack(propertyFetcher.Find(x => x.antiFlickerMode));
_workflow = Unpack(propertyFetcher.Find(x => x.workflow));
_selectiveRenderLayerMask = Unpack(propertyFetcher.Find(x => x.selectiveRenderLayerMask));
_anamorphicRatio = Unpack(propertyFetcher.Find(x => x.anamorphicRatio));
_lumaScale = Unpack(propertyFetcher.Find(x => x.lumaScale));
_blooming = Unpack(propertyFetcher.Find(x => x.blooming));
//Bloom
_bloomThreshold = Unpack(propertyFetcher.Find(x => x.bloomThreshold));
_bloomScattering = Unpack(propertyFetcher.Find(x => x.bloomScattering));
_bloomIntensity = Unpack(propertyFetcher.Find(x => x.bloomIntensity));
_allowLensSurface = Unpack(propertyFetcher.Find(x => x.allowLensSurface));
_lensSurfaceDirtTexture = Unpack(propertyFetcher.Find(x => x.lensSurfaceDirtTexture));
_lensSurfaceDirtIntensity = Unpack(propertyFetcher.Find(x => x.lensSurfaceDirtIntensity));
_lensSurfaceDiffractionTexture = Unpack(propertyFetcher.Find(x => x.lensSurfaceDiffractionTexture));
_lensSurfaceDiffractionIntensity = Unpack(propertyFetcher.Find(x => x.lensSurfaceDiffractionIntensity));
_allowLensFlare = Unpack(propertyFetcher.Find(x => x.allowLensFlare));
_lensFlareStyle = Unpack(propertyFetcher.Find(x => x.lensFlareStyle));
_lensFlareGhostFade = Unpack(propertyFetcher.Find(x => x.lensFlareGhostFade));
_lensFlareGhostIntensity = Unpack(propertyFetcher.Find(x => x.lensFlareGhostIntensity));
_lensFlareThreshold = Unpack(propertyFetcher.Find(x => x.lensFlareThreshold));
_lensFlareScattering = Unpack(propertyFetcher.Find(x => x.lensFlareScattering));
_lensFlareColorRamp = Unpack(propertyFetcher.Find(x => x.lensFlareColorRamp));
_lensFlareChromaticAberration = Unpack(propertyFetcher.Find(x => x.lensFlareChromaticAberration));
_lensFlareGhostCount = Unpack(propertyFetcher.Find(x => x.lensFlareGhostCount));
_lensFlareGhostDispersal = Unpack(propertyFetcher.Find(x => x.lensFlareGhostDispersal));
_lensFlareHaloFade = Unpack(propertyFetcher.Find(x => x.lensFlareHaloFade));
_lensFlareHaloIntensity = Unpack(propertyFetcher.Find(x => x.lensFlareHaloIntensity));
_lensFlareHaloSize = Unpack(propertyFetcher.Find(x => x.lensFlareHaloSize));
_allowGlare = Unpack(propertyFetcher.Find(x => x.allowGlare));
_glareBlend = Unpack(propertyFetcher.Find(x => x.glareBlend));
_glareIntensity = Unpack(propertyFetcher.Find(x => x.glareIntensity));
_glareThreshold = Unpack(propertyFetcher.Find(x => x.glareThreshold));
_glareScattering = Unpack(propertyFetcher.Find(x => x.glareScattering));
_glareStyle = Unpack(propertyFetcher.Find(x => x.glareStyle));
_glareStreaks = Unpack(propertyFetcher.Find(x => x.glareStreaks));
_glareAngle = Unpack(propertyFetcher.Find(x => x.glareAngle));
_glareSample0Scattering = Unpack(propertyFetcher.Find(x => x.glareSample0Scattering));
_glareSample0Intensity = Unpack(propertyFetcher.Find(x => x.glareSample0Intensity));
_glareSample0Angle = Unpack(propertyFetcher.Find(x => x.glareSample0Angle));
_glareSample0Offset = Unpack(propertyFetcher.Find(x => x.glareSample0Offset));
_glareSample1Scattering = Unpack(propertyFetcher.Find(x => x.glareSample1Scattering));
_glareSample1Intensity = Unpack(propertyFetcher.Find(x => x.glareSample1Intensity));
_glareSample1Angle = Unpack(propertyFetcher.Find(x => x.glareSample1Angle));
_glareSample1Offset = Unpack(propertyFetcher.Find(x => x.glareSample1Offset));
_glareSample2Scattering = Unpack(propertyFetcher.Find(x => x.glareSample2Scattering));
_glareSample2Intensity = Unpack(propertyFetcher.Find(x => x.glareSample2Intensity));
_glareSample2Angle = Unpack(propertyFetcher.Find(x => x.glareSample2Angle));
_glareSample2Offset = Unpack(propertyFetcher.Find(x => x.glareSample2Offset));
_glareSample3Scattering = Unpack(propertyFetcher.Find(x => x.glareSample3Scattering));
_glareSample3Intensity = Unpack(propertyFetcher.Find(x => x.glareSample3Intensity));
_glareSample3Angle = Unpack(propertyFetcher.Find(x => x.glareSample3Angle));
_glareSample3Offset = Unpack(propertyFetcher.Find(x => x.glareSample3Offset));
}
public override void OnInspectorGUI()
{
serializedObject.Update();
if(_isInitialized.value.boolValue == false)
{
_bloomIntensity.value.floatValue = 1f;
_bloomIntensity.overrideState.boolValue = true;
_lensSurfaceDirtIntensity.value.floatValue = 2.5f;
_lensSurfaceDirtIntensity.overrideState.boolValue = true;
_lensSurfaceDiffractionIntensity.value.floatValue = 2f;
_lensSurfaceDiffractionIntensity.overrideState.boolValue = true;
_lensFlareGhostIntensity.value.floatValue = 1.0f;
_lensFlareGhostIntensity.overrideState.boolValue = true;
_lensFlareHaloIntensity.value.floatValue = 1.0f;
_lensFlareHaloIntensity.overrideState.boolValue = true;
_glareSample0Intensity.value.floatValue = 1.0f;
_glareSample0Intensity.overrideState.boolValue = true;
_glareSample1Intensity.value.floatValue = 1.0f;
_glareSample1Intensity.overrideState.boolValue = true;
_glareSample2Intensity.value.floatValue = 1.0f;
_glareSample2Intensity.overrideState.boolValue = true;
_glareSample3Intensity.value.floatValue = 1.0f;
_glareSample3Intensity.overrideState.boolValue = true;
_isInitialized.value.boolValue = true;
}
EditorHelper.VerticalSpace();
EditorHelper.EditorUIContent.IsNotSupportedWarning();
EditorHelper.EditorUIContent.XRUnityVersionWarning();
if(_workflow.value.enumValueIndex == 1)
{
EditorHelper.EditorUIContent.SelectiveWorkflowDeprecated();
}
if(EditorHelper.HandleBehavior(_showEditorMainBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.mainTitle, "", _showEditorMainBehavior.value, null))
{
PropertyField(_allowGeometryShaders, Tooltips.allowGeometryShaders);
PropertyField(_allowComputeShaders, Tooltips.allowComputeShaders);
PropertyField(_renderPriority, Tooltips.renderPriority);
PropertyField(_debugView, Tooltips.debugView);
PropertyField(_quality, Tooltips.quality);
PropertyField(_antiFlickerMode, Tooltips.antiFlickerMode);
PropertyField(_workflow, Tooltips.workflow);
EditorHelper.EditorUIContent.SelectiveWorkflowVRWarning((Workflow)_workflow.value.enumValueIndex);
if(_workflow.value.enumValueIndex == 1)
{
PropertyField(_selectiveRenderLayerMask, Tooltips.selectiveRenderLayerMask);
}
PropertyField(_anamorphicRatio, Tooltips.anamorphicRatio);
PropertyField(_lumaScale, Tooltips.lumaScale);
if(_renderPriority.value.enumValueIndex != 2 && _workflow.value.enumValueIndex != 2)
PropertyField(_blooming, Tooltips.blooming);
EditorHelper.VerticalSpace();
}
if(EditorHelper.HandleBehavior(_showEditorBloomBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.bloomTitle, "", _showEditorBloomBehavior.value, null))
{
if(_workflow.value.enumValueIndex == 0)
PropertyField(_bloomThreshold, Tooltips.bloomThreshold);
PropertyField(_bloomScattering, Tooltips.bloomScattering);
PropertyField(_bloomIntensity, Tooltips.bloomIntensity);
_bloomIntensity.value.floatValue = Mathf.Max(0, _bloomIntensity.value.floatValue);
EditorHelper.VerticalSpace();
}
if(EditorHelper.HandleBehavior(_showEditorLensSurfaceBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.lensSurfaceTitle, "", _showEditorLensSurfaceBehavior.value, _allowLensSurface.value))
{
using (new EditorGUI.DisabledScope(!_allowLensSurface.value.boolValue))
{
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.dirtTitle);
PropertyField(_lensSurfaceDirtTexture, Tooltips.lensSurfaceDirtTexture);
PropertyField(_lensSurfaceDirtIntensity, Tooltips.lensSurfaceDirtIntensity);
_lensSurfaceDirtIntensity.value.floatValue = Mathf.Max(0, _lensSurfaceDirtIntensity.value.floatValue);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.diffractionTitle);
PropertyField(_lensSurfaceDiffractionTexture, Tooltips.lensSurfaceDiffractionTexture);
PropertyField(_lensSurfaceDiffractionIntensity, Tooltips.lensSurfaceDiffractionIntensity);
_lensSurfaceDiffractionIntensity.value.floatValue = Mathf.Max(0, _lensSurfaceDiffractionIntensity.value.floatValue);
}
EditorHelper.VerticalSpace();
}
if(Compatibility.CheckLensFlareFeatureSupport() && _quality.value.intValue <= 4)
{
if(EditorHelper.HandleBehavior(_showEditorLensFlareBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.lensFlareTitle, "", _showEditorLensFlareBehavior.value, _allowLensFlare.value))
{
using (new EditorGUI.DisabledScope(!_allowLensFlare.value.boolValue))
{
PropertyField(_lensFlareStyle, Tooltips.lensFlareStyle);
if(_workflow.value.enumValueIndex == 0)
PropertyField(_lensFlareThreshold, Tooltips.lensFlareThreshold);
PropertyField(_lensFlareScattering, Tooltips.lensFlareScattering);
PropertyField(_lensFlareColorRamp, Tooltips.lensFlareColorRamp);
PropertyField(_lensFlareChromaticAberration, Tooltips.lensFlareChromaticAberration);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.ghostsTitle);
if(_lensFlareStyle.value.enumValueIndex == 0)
{
PropertyField(_lensFlareGhostFade, Tooltips.lensFlareGhostFade);
PropertyField(_lensFlareGhostCount, Tooltips.lensFlareGhostCount);
PropertyField(_lensFlareGhostDispersal, Tooltips.lensFlareGhostDispersal);
}
PropertyField(_lensFlareGhostIntensity, Tooltips.lensFlareGhostIntensity);
_lensFlareGhostIntensity.value.floatValue = Mathf.Max(0, _lensFlareGhostIntensity.value.floatValue);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.haloTitle);
if(_lensFlareStyle.value.enumValueIndex == 0)
{
PropertyField(_lensFlareHaloFade, Tooltips.lensFlareHaloFade);
PropertyField(_lensFlareHaloSize, Tooltips.lensFlareHaloSize);
}
PropertyField(_lensFlareHaloIntensity, Tooltips.lensFlareHaloIntensity);
_lensFlareHaloIntensity.value.floatValue = Mathf.Max(0, _lensFlareHaloIntensity.value.floatValue);
}
EditorHelper.VerticalSpace();
}
}
else
{
EditorHelper.DrawSplitter();
EditorHelper.EditorUIContent.LensFlareFeatureNotSupportedWarning();
}
if(Compatibility.CheckGlareFeatureSupport() && _quality.value.intValue <= 4)
{
if(EditorHelper.HandleBehavior(_showEditorGlareBehavior.value.serializedObject.targetObject, EditorHelper.EditorUIContent.glareTitle, "", _showEditorGlareBehavior.value, _allowGlare.value))
{
using (new EditorGUI.DisabledScope(!_allowGlare.value.boolValue))
{
PropertyField(_glareStyle, Tooltips.glareStyle);
if(_workflow.value.enumValueIndex == 0)
PropertyField(_glareThreshold, Tooltips.glareThreshold);
if(_glareStyle.value.enumValueIndex == 0)
PropertyField(_glareStreaks, Tooltips.glareStreaks);
PropertyField(_glareBlend, Tooltips.glareBlend);
PropertyField(_glareAngle, Tooltips.glareAngle);
PropertyField(_glareScattering, Tooltips.glareScattering);
PropertyField(_glareIntensity, Tooltips.glareIntensity);
_glareScattering.value.floatValue = Mathf.Max(0, _glareScattering.value.floatValue);
_glareIntensity.value.floatValue = Mathf.Max(0, _glareIntensity.value.floatValue);
if(_glareStyle.value.enumValueIndex == 0)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample0Title);
PropertyField(_glareSample0Scattering, Tooltips.glareSample0Scattering);
PropertyField(_glareSample0Angle, Tooltips.glareSample0Angle);
PropertyField(_glareSample0Offset, Tooltips.glareSample0Offset);
PropertyField(_glareSample0Intensity, Tooltips.glareSample0Intensity);
_glareSample0Intensity.value.floatValue = Mathf.Max(0, _glareSample0Intensity.value.floatValue);
if(_glareStreaks.value.intValue >= 2)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample1Title);
PropertyField(_glareSample1Scattering, Tooltips.glareSample1Scattering);
PropertyField(_glareSample1Angle, Tooltips.glareSample1Angle);
PropertyField(_glareSample1Offset, Tooltips.glareSample1Offset);
PropertyField(_glareSample1Intensity, Tooltips.glareSample1Intensity);
_glareSample1Intensity.value.floatValue = Mathf.Max(0, _glareSample1Intensity.value.floatValue);
}
if(_glareStreaks.value.intValue >= 3)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample2Title);
PropertyField(_glareSample2Scattering, Tooltips.glareSample2Scattering);
PropertyField(_glareSample2Angle, Tooltips.glareSample2Angle);
PropertyField(_glareSample2Offset, Tooltips.glareSample2Offset);
PropertyField(_glareSample2Intensity, Tooltips.glareSample2Intensity);
_glareSample2Intensity.value.floatValue = Mathf.Max(0, _glareSample2Intensity.value.floatValue);
}
if(_glareStreaks.value.intValue >= 4)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample3Title);
PropertyField(_glareSample3Scattering, Tooltips.glareSample3Scattering);
PropertyField(_glareSample3Angle, Tooltips.glareSample3Angle);
PropertyField(_glareSample3Offset, Tooltips.glareSample3Offset);
PropertyField(_glareSample3Intensity, Tooltips.glareSample3Intensity);
_glareSample3Intensity.value.floatValue = Mathf.Max(0, _glareSample3Intensity.value.floatValue);
}
}
}
}
EditorHelper.VerticalSpace();
}
else
{
EditorHelper.DrawSplitter();
EditorHelper.EditorUIContent.GlareFeatureNotSupportedWarning();
}
EditorHelper.DrawSplitter();
serializedObject.ApplyModifiedProperties();
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 67d122e9697838f4eb07d3a551c95673
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: 380d37256f2a90b4bbfe27e235df0d95, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,365 @@
//////////////////////////////////////////////////////
// MK Glow Editor URP //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Rendering;
using UnityEngine;
using MK.Glow.Editor;
namespace MK.Glow.URP.Editor
{
using Tooltips = MK.Glow.Editor.EditorHelper.EditorUIContent.Tooltips;
[CustomEditor(typeof(MK.Glow.URP.MKGlowRendererFeature))]
internal class MKGlowRendererFeatureEditor : UnityEditor.Editor
{
//Behaviors
private SerializedProperty _showEditorMainBehavior;
private SerializedProperty _showEditorBloomBehavior;
private SerializedProperty _showEditorLensSurfaceBehavior;
private SerializedProperty _showEditorLensFlareBehavior;
private SerializedProperty _showEditorGlareBehavior;
private SerializedProperty _workMode;
//Main
private SerializedProperty _allowGeometryShaders;
private SerializedProperty _allowComputeShaders;
private SerializedProperty _renderPriority;
private SerializedProperty _debugView;
private SerializedProperty _quality;
private SerializedProperty _antiFlickerMode;
private SerializedProperty _workflow;
private SerializedProperty _selectiveRenderLayerMask;
private SerializedProperty _anamorphicRatio;
private SerializedProperty _lumaScale;
private SerializedProperty _blooming;
//Bloom
private SerializedProperty _bloomThreshold;
private SerializedProperty _bloomScattering;
private SerializedProperty _bloomIntensity;
//Lens Surface
private SerializedProperty _allowLensSurface;
private SerializedProperty _lensSurfaceDirtTexture;
private SerializedProperty _lensSurfaceDirtIntensity;
private SerializedProperty _lensSurfaceDiffractionTexture;
private SerializedProperty _lensSurfaceDiffractionIntensity;
//Lens Flare
private SerializedProperty _allowLensFlare;
private SerializedProperty _lensFlareStyle;
private SerializedProperty _lensFlareGhostFade;
private SerializedProperty _lensFlareGhostIntensity;
private SerializedProperty _lensFlareThreshold;
private SerializedProperty _lensFlareScattering;
private SerializedProperty _lensFlareColorRamp;
private SerializedProperty _lensFlareChromaticAberration;
private SerializedProperty _lensFlareGhostCount;
private SerializedProperty _lensFlareGhostDispersal;
private SerializedProperty _lensFlareHaloFade;
private SerializedProperty _lensFlareHaloIntensity;
private SerializedProperty _lensFlareHaloSize;
//Glare
private SerializedProperty _allowGlare;
private SerializedProperty _glareBlend;
private SerializedProperty _glareIntensity;
private SerializedProperty _glareThreshold;
private SerializedProperty _glareScattering;
private SerializedProperty _glareAngle;
private SerializedProperty _glareStyle;
private SerializedProperty _glareStreaks;
private SerializedProperty _glareSample0Scattering;
private SerializedProperty _glareSample0Intensity;
private SerializedProperty _glareSample0Angle;
private SerializedProperty _glareSample0Offset;
private SerializedProperty _glareSample1Scattering;
private SerializedProperty _glareSample1Intensity;
private SerializedProperty _glareSample1Angle;
private SerializedProperty _glareSample1Offset;
private SerializedProperty _glareSample2Scattering;
private SerializedProperty _glareSample2Intensity;
private SerializedProperty _glareSample2Angle;
private SerializedProperty _glareSample2Offset;
private SerializedProperty _glareSample3Scattering;
private SerializedProperty _glareSample3Intensity;
private SerializedProperty _glareSample3Angle;
private SerializedProperty _glareSample3Offset;
public void OnEnable()
{
//Editor
_showEditorMainBehavior = serializedObject.FindProperty("showEditorMainBehavior");
_showEditorBloomBehavior = serializedObject.FindProperty("showEditorBloomBehavior");
_showEditorLensSurfaceBehavior = serializedObject.FindProperty("showEditorLensSurfaceBehavior");
_showEditorLensFlareBehavior = serializedObject.FindProperty("showEditorLensFlareBehavior");
_showEditorGlareBehavior = serializedObject.FindProperty("showEditorGlareBehavior");
_workMode = serializedObject.FindProperty("workmode");
//Main
_allowGeometryShaders = serializedObject.FindProperty("allowGeometryShaders");
_allowComputeShaders = serializedObject.FindProperty("allowComputeShaders");
_renderPriority = serializedObject.FindProperty("renderPriority");
_debugView = serializedObject.FindProperty("debugView");
_quality = serializedObject.FindProperty("quality");
_antiFlickerMode = serializedObject.FindProperty("antiFlickerMode");
_workflow = serializedObject.FindProperty("workflow");
_selectiveRenderLayerMask = serializedObject.FindProperty("selectiveRenderLayerMask");
_anamorphicRatio = serializedObject.FindProperty("anamorphicRatio");
_lumaScale = serializedObject.FindProperty("lumaScale");
_blooming = serializedObject.FindProperty("blooming");
//Bloom
_bloomThreshold = serializedObject.FindProperty("bloomThreshold");
_bloomScattering = serializedObject.FindProperty("bloomScattering");
_bloomIntensity = serializedObject.FindProperty("bloomIntensity");
_allowLensSurface = serializedObject.FindProperty("allowLensSurface");
_lensSurfaceDirtTexture = serializedObject.FindProperty("lensSurfaceDirtTexture");
_lensSurfaceDirtIntensity = serializedObject.FindProperty("lensSurfaceDirtIntensity");
_lensSurfaceDiffractionTexture = serializedObject.FindProperty("lensSurfaceDiffractionTexture");
_lensSurfaceDiffractionIntensity = serializedObject.FindProperty("lensSurfaceDiffractionIntensity");
_allowLensFlare = serializedObject.FindProperty("allowLensFlare");
_lensFlareStyle = serializedObject.FindProperty("lensFlareStyle");
_lensFlareGhostFade = serializedObject.FindProperty("lensFlareGhostFade");
_lensFlareGhostIntensity = serializedObject.FindProperty("lensFlareGhostIntensity");
_lensFlareThreshold = serializedObject.FindProperty("lensFlareThreshold");
_lensFlareScattering = serializedObject.FindProperty("lensFlareScattering");
_lensFlareColorRamp = serializedObject.FindProperty("lensFlareColorRamp");
_lensFlareChromaticAberration = serializedObject.FindProperty("lensFlareChromaticAberration");
_lensFlareGhostCount = serializedObject.FindProperty("lensFlareGhostCount");
_lensFlareGhostDispersal = serializedObject.FindProperty("lensFlareGhostDispersal");
_lensFlareHaloFade = serializedObject.FindProperty("lensFlareHaloFade");
_lensFlareHaloIntensity = serializedObject.FindProperty("lensFlareHaloIntensity");
_lensFlareHaloSize = serializedObject.FindProperty("lensFlareHaloSize");
_allowGlare = serializedObject.FindProperty("allowGlare");
_glareBlend = serializedObject.FindProperty("glareBlend");
_glareIntensity = serializedObject.FindProperty("glareIntensity");
_glareThreshold = serializedObject.FindProperty("glareThreshold");
_glareScattering = serializedObject.FindProperty("glareScattering");
_glareStyle = serializedObject.FindProperty("glareStyle");
_glareStreaks = serializedObject.FindProperty("glareStreaks");
_glareAngle = serializedObject.FindProperty("glareAngle");
_glareSample0Scattering = serializedObject.FindProperty("glareSample0Scattering");
_glareSample0Intensity = serializedObject.FindProperty("glareSample0Intensity");
_glareSample0Angle = serializedObject.FindProperty("glareSample0Angle");
_glareSample0Offset = serializedObject.FindProperty("glareSample0Offset");
_glareSample1Scattering = serializedObject.FindProperty("glareSample1Scattering");
_glareSample1Intensity = serializedObject.FindProperty("glareSample1Intensity");
_glareSample1Angle = serializedObject.FindProperty("glareSample1Angle");
_glareSample1Offset = serializedObject.FindProperty("glareSample1Offset");
_glareSample2Scattering = serializedObject.FindProperty("glareSample2Scattering");
_glareSample2Intensity = serializedObject.FindProperty("glareSample2Intensity");
_glareSample2Angle = serializedObject.FindProperty("glareSample2Angle");
_glareSample2Offset = serializedObject.FindProperty("glareSample2Offset");
_glareSample3Scattering = serializedObject.FindProperty("glareSample3Scattering");
_glareSample3Intensity = serializedObject.FindProperty("glareSample3Intensity");
_glareSample3Angle = serializedObject.FindProperty("glareSample3Angle");
_glareSample3Offset = serializedObject.FindProperty("glareSample3Offset");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(_workMode, Tooltips.workmode);
if(_workMode.enumValueIndex == 0)
{
serializedObject.ApplyModifiedProperties();
UnityEditor.EditorGUILayout.LabelField("Settings are controlled by your Post Processing Volumes.");
return;
}
else
{
UnityEditor.EditorGUILayout.LabelField("Post Processing API is skipped entirely. Global setup is enabled.");
}
EditorHelper.VerticalSpace();
EditorHelper.EditorUIContent.IsNotSupportedWarning();
EditorHelper.EditorUIContent.XRUnityVersionWarning();
if(_workflow.enumValueIndex == 1)
{
EditorHelper.EditorUIContent.SelectiveWorkflowDeprecated();
}
if(EditorHelper.HandleBehavior(_showEditorMainBehavior.serializedObject.targetObject, EditorHelper.EditorUIContent.mainTitle, "", _showEditorMainBehavior, null))
{
EditorGUILayout.PropertyField(_allowGeometryShaders, Tooltips.allowGeometryShaders);
EditorGUILayout.PropertyField(_allowComputeShaders, Tooltips.allowComputeShaders);
EditorGUILayout.PropertyField(_renderPriority, Tooltips.renderPriority);
EditorGUILayout.PropertyField(_debugView, Tooltips.debugView);
EditorGUILayout.PropertyField(_quality, Tooltips.quality);
EditorGUILayout.PropertyField(_antiFlickerMode, Tooltips.antiFlickerMode);
EditorGUILayout.PropertyField(_workflow, Tooltips.workflow);
EditorHelper.EditorUIContent.SelectiveWorkflowVRWarning((Workflow)_workflow.enumValueIndex);
if(_workflow.enumValueIndex == 1)
{
EditorGUILayout.PropertyField(_selectiveRenderLayerMask, Tooltips.selectiveRenderLayerMask);
}
EditorGUILayout.PropertyField(_anamorphicRatio, Tooltips.anamorphicRatio);
EditorGUILayout.PropertyField(_lumaScale, Tooltips.lumaScale);
if(_renderPriority.enumValueIndex != 2 && _workflow.enumValueIndex != 2)
EditorGUILayout.PropertyField(_blooming, Tooltips.blooming);
EditorHelper.VerticalSpace();
}
if(EditorHelper.HandleBehavior(_showEditorBloomBehavior.serializedObject.targetObject, EditorHelper.EditorUIContent.bloomTitle, "", _showEditorBloomBehavior, null))
{
if(_workflow.enumValueIndex == 0)
EditorGUILayout.PropertyField(_bloomThreshold, Tooltips.bloomThreshold);
EditorGUILayout.PropertyField(_bloomScattering, Tooltips.bloomScattering);
EditorGUILayout.PropertyField(_bloomIntensity, Tooltips.bloomIntensity);
_bloomIntensity.floatValue = Mathf.Max(0, _bloomIntensity.floatValue);
EditorHelper.VerticalSpace();
}
if(EditorHelper.HandleBehavior(_showEditorLensSurfaceBehavior.serializedObject.targetObject, EditorHelper.EditorUIContent.lensSurfaceTitle, "", _showEditorLensSurfaceBehavior, _allowLensSurface))
{
using (new EditorGUI.DisabledScope(!_allowLensSurface.boolValue))
{
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.dirtTitle);
EditorGUILayout.PropertyField(_lensSurfaceDirtTexture, Tooltips.lensSurfaceDirtTexture);
EditorGUILayout.PropertyField(_lensSurfaceDirtIntensity, Tooltips.lensSurfaceDirtIntensity);
_lensSurfaceDirtIntensity.floatValue = Mathf.Max(0, _lensSurfaceDirtIntensity.floatValue);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.diffractionTitle);
EditorGUILayout.PropertyField(_lensSurfaceDiffractionTexture, Tooltips.lensSurfaceDiffractionTexture);
EditorGUILayout.PropertyField(_lensSurfaceDiffractionIntensity, Tooltips.lensSurfaceDiffractionIntensity);
_lensSurfaceDiffractionIntensity.floatValue = Mathf.Max(0, _lensSurfaceDiffractionIntensity.floatValue);
}
EditorHelper.VerticalSpace();
}
if(Compatibility.CheckLensFlareFeatureSupport() && _quality.intValue <= 4)
{
if(EditorHelper.HandleBehavior(_showEditorLensFlareBehavior.serializedObject.targetObject, EditorHelper.EditorUIContent.lensFlareTitle, "", _showEditorLensFlareBehavior, _allowLensFlare))
{
using (new EditorGUI.DisabledScope(!_allowLensFlare.boolValue))
{
EditorGUILayout.PropertyField(_lensFlareStyle, Tooltips.lensFlareStyle);
if(_workflow.enumValueIndex == 0)
EditorGUILayout.PropertyField(_lensFlareThreshold, Tooltips.lensFlareThreshold);
EditorGUILayout.PropertyField(_lensFlareScattering, Tooltips.lensFlareScattering);
EditorGUILayout.PropertyField(_lensFlareColorRamp, Tooltips.lensFlareColorRamp);
EditorGUILayout.PropertyField(_lensFlareChromaticAberration, Tooltips.lensFlareChromaticAberration);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.ghostsTitle);
if(_lensFlareStyle.enumValueIndex == 0)
{
EditorGUILayout.PropertyField(_lensFlareGhostFade, Tooltips.lensFlareGhostFade);
EditorGUILayout.PropertyField(_lensFlareGhostCount, Tooltips.lensFlareGhostCount);
EditorGUILayout.PropertyField(_lensFlareGhostDispersal, Tooltips.lensFlareGhostDispersal);
}
EditorGUILayout.PropertyField(_lensFlareGhostIntensity, Tooltips.lensFlareGhostIntensity);
_lensFlareGhostIntensity.floatValue = Mathf.Max(0, _lensFlareGhostIntensity.floatValue);
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.haloTitle);
if(_lensFlareStyle.enumValueIndex == 0)
{
EditorGUILayout.PropertyField(_lensFlareHaloFade, Tooltips.lensFlareHaloFade);
EditorGUILayout.PropertyField(_lensFlareHaloSize, Tooltips.lensFlareHaloSize);
}
EditorGUILayout.PropertyField(_lensFlareHaloIntensity, Tooltips.lensFlareHaloIntensity);
_lensFlareHaloIntensity.floatValue = Mathf.Max(0, _lensFlareHaloIntensity.floatValue);
}
EditorHelper.VerticalSpace();
}
}
else
{
EditorHelper.DrawSplitter();
EditorHelper.EditorUIContent.LensFlareFeatureNotSupportedWarning();
}
if(Compatibility.CheckGlareFeatureSupport() && _quality.intValue <= 4)
{
if(EditorHelper.HandleBehavior(_showEditorGlareBehavior.serializedObject.targetObject, EditorHelper.EditorUIContent.glareTitle, "", _showEditorGlareBehavior, _allowGlare))
{
using (new EditorGUI.DisabledScope(!_allowGlare.boolValue))
{
EditorGUILayout.PropertyField(_glareStyle, Tooltips.glareStyle);
if(_workflow.enumValueIndex == 0)
EditorGUILayout.PropertyField(_glareThreshold, Tooltips.glareThreshold);
if(_glareStyle.enumValueIndex == 0)
EditorGUILayout.PropertyField(_glareStreaks, Tooltips.glareStreaks);
EditorGUILayout.PropertyField(_glareBlend, Tooltips.glareBlend);
EditorGUILayout.PropertyField(_glareAngle, Tooltips.glareAngle);
EditorGUILayout.PropertyField(_glareScattering, Tooltips.glareScattering);
EditorGUILayout.PropertyField(_glareIntensity, Tooltips.glareIntensity);
_glareScattering.floatValue = Mathf.Max(0, _glareScattering.floatValue);
_glareIntensity.floatValue = Mathf.Max(0, _glareIntensity.floatValue);
if(_glareStyle.enumValueIndex == 0)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample0Title);
EditorGUILayout.PropertyField(_glareSample0Scattering, Tooltips.glareSample0Scattering);
EditorGUILayout.PropertyField(_glareSample0Angle, Tooltips.glareSample0Angle);
EditorGUILayout.PropertyField(_glareSample0Offset, Tooltips.glareSample0Offset);
EditorGUILayout.PropertyField(_glareSample0Intensity, Tooltips.glareSample0Intensity);
_glareSample0Intensity.floatValue = Mathf.Max(0, _glareSample0Intensity.floatValue);
if(_glareStreaks.intValue >= 2)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample1Title);
EditorGUILayout.PropertyField(_glareSample1Scattering, Tooltips.glareSample1Scattering);
EditorGUILayout.PropertyField(_glareSample1Angle, Tooltips.glareSample1Angle);
EditorGUILayout.PropertyField(_glareSample1Offset, Tooltips.glareSample1Offset);
EditorGUILayout.PropertyField(_glareSample1Intensity, Tooltips.glareSample1Intensity);
_glareSample1Intensity.floatValue = Mathf.Max(0, _glareSample1Intensity.floatValue);
}
if(_glareStreaks.intValue >= 3)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample2Title);
EditorGUILayout.PropertyField(_glareSample2Scattering, Tooltips.glareSample2Scattering);
EditorGUILayout.PropertyField(_glareSample2Angle, Tooltips.glareSample2Angle);
EditorGUILayout.PropertyField(_glareSample2Offset, Tooltips.glareSample2Offset);
EditorGUILayout.PropertyField(_glareSample2Intensity, Tooltips.glareSample2Intensity);
_glareSample2Intensity.floatValue = Mathf.Max(0, _glareSample2Intensity.floatValue);
}
if(_glareStreaks.intValue >= 4)
{
EditorGUILayout.Space();
EditorHelper.DrawHeader(EditorHelper.EditorUIContent.sample3Title);
EditorGUILayout.PropertyField(_glareSample3Scattering, Tooltips.glareSample3Scattering);
EditorGUILayout.PropertyField(_glareSample3Angle, Tooltips.glareSample3Angle);
EditorGUILayout.PropertyField(_glareSample3Offset, Tooltips.glareSample3Offset);
EditorGUILayout.PropertyField(_glareSample3Intensity, Tooltips.glareSample3Intensity);
_glareSample3Intensity.floatValue = Mathf.Max(0, _glareSample3Intensity.floatValue);
}
}
}
}
EditorHelper.VerticalSpace();
}
else
{
EditorHelper.DrawSplitter();
EditorHelper.EditorUIContent.GlareFeatureNotSupportedWarning();
}
EditorHelper.DrawSplitter();
serializedObject.ApplyModifiedProperties();
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 818c84058463f2d4c8a137a7ac8d4ece
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {fileID: 2800000, guid: 380d37256f2a90b4bbfe27e235df0d95, type: 3}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,52 @@
//////////////////////////////////////////////////////
// MK Glow Range Drawer //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using UnityEditor.Rendering;
using UnityEngine.Rendering;
namespace MK.Glow.URP
{
[VolumeParameterDrawer(typeof(MK.Glow.URP.MKGlow.MinMaxRangeParameter))]
internal class MinMaxRangeVolumeParameterDrawer : VolumeParameterDrawer
{
public override bool OnGUI(SerializedDataParameter property, GUIContent title)
{
//MinMaxRangeAttribute range = attribute as MinMaxRangeAttribute;
MinMaxRangeAttribute range = property.GetAttribute<MinMaxRangeAttribute>();
SerializedProperty minRange = property.value.FindPropertyRelative("minValue");
SerializedProperty maxRange = property.value.FindPropertyRelative("maxValue");
float minValue = minRange.floatValue;
float maxValue = maxRange.floatValue;
Rect startRect = EditorGUILayout.GetControlRect();
Rect minRect = new Rect(EditorGUIUtility.labelWidth + EditorGUIUtility.fieldWidth * 0.75f, startRect.y, EditorGUIUtility.fieldWidth, startRect.height);
float p = minRect.x + EditorGUIUtility.standardVerticalSpacing * 2f + EditorGUIUtility.fieldWidth;
Rect sliderRect = new Rect(p, startRect.y, EditorGUIUtility.currentViewWidth - p - EditorGUIUtility.fieldWidth * 1.5f, startRect.height);
Rect maxRect = new Rect(sliderRect.x + sliderRect.width + EditorGUIUtility.standardVerticalSpacing * 2f, startRect.y, EditorGUIUtility.fieldWidth, startRect.height);
EditorGUI.LabelField(startRect, title.text);
minValue = EditorGUI.FloatField(minRect, minValue);
EditorGUI.MinMaxSlider(sliderRect, ref minValue, ref maxValue, range.minLimit, range.maxLimit);
maxValue = EditorGUI.FloatField(maxRect, maxValue);
minRange.floatValue = minValue;
maxRange.floatValue = maxValue;
return true;
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: c54c7c244c68e094bb05cee57226af1f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,46 @@
//////////////////////////////////////////////////////
// MK Glow Range Drawer //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2020 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
namespace MK.Glow.URP
{
[CustomPropertyDrawer(typeof(MinMaxRangeAttribute))]
internal class MinMaxRendererFeatureRangeDrawer : PropertyDrawer
{
public override void OnGUI( Rect startRect, SerializedProperty property, GUIContent label )
{
EditorGUI.BeginProperty(startRect, label, property);
MinMaxRangeAttribute range = attribute as MinMaxRangeAttribute;
SerializedProperty minRange = property.FindPropertyRelative("minValue");
SerializedProperty maxRange = property.FindPropertyRelative("maxValue");
float minValue = minRange.floatValue;
float maxValue = maxRange.floatValue;
Rect minRect = new Rect(EditorGUIUtility.labelWidth + EditorGUIUtility.fieldWidth * 0.33f, startRect.y, EditorGUIUtility.fieldWidth, startRect.height);
float p = minRect.x + EditorGUIUtility.standardVerticalSpacing * 2f + EditorGUIUtility.fieldWidth;
Rect sliderRect = new Rect(p, startRect.y, startRect.width - p - EditorGUIUtility.fieldWidth + EditorGUIUtility.standardVerticalSpacing * 5f, startRect.height);
Rect maxRect = new Rect(sliderRect.x + sliderRect.width + EditorGUIUtility.standardVerticalSpacing * 2f, startRect.y, EditorGUIUtility.fieldWidth, startRect.height);
EditorGUI.LabelField(startRect, label);
minValue = EditorGUI.FloatField(minRect, minValue);
EditorGUI.MinMaxSlider(sliderRect, ref minValue, ref maxValue, range.minLimit, range.maxLimit);
maxValue = EditorGUI.FloatField(maxRect, maxValue);
minRange.floatValue = minValue;
maxRange.floatValue = maxValue;
EditorGUI.EndProperty();
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2876d1e63914adf4c9d2295f9a99240c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
//////////////////////////////////////////////////////
// MK Glow Sprite Shader Editor //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEditor;
using UnityEditor.Rendering;
using UnityEngine;
using MK.Glow.Editor;
namespace MK.Glow.URP.Editor
{
public class SpriteShaderEditor : MaterialEditor
{
public override void OnInspectorGUI ()
{
base.OnInspectorGUI();
RenderQueueField();
EnableInstancingField();
}
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4e4b3bb4b51c6c04996b993ecbcff5f3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,561 @@
//////////////////////////////////////////////////////
// MK Glow URP Volume Component //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace MK.Glow.URP
{
[ExecuteInEditMode, VolumeComponentMenu("Post-processing/MK/MKGlow")]
public class MKGlow : VolumeComponent, IPostProcessComponent, MK.Glow.ISettings
{
[System.Serializable]
public sealed class RenderPriorityParameter : VolumeParameter<RenderPriority>
{
public override void Interp(RenderPriority from, RenderPriority to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class Texture2DParameter : VolumeParameter<Texture2D>
{
public override void Interp(Texture2D from, Texture2D to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class DebugViewParameter : VolumeParameter<MK.Glow.DebugView>
{
public override void Interp(MK.Glow.DebugView from, MK.Glow.DebugView to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class QualityParameter : VolumeParameter<MK.Glow.Quality>
{
public override void Interp(MK.Glow.Quality from, MK.Glow.Quality to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class AntiFlickerModeParameter : VolumeParameter<MK.Glow.AntiFlickerMode>
{
public override void Interp(MK.Glow.AntiFlickerMode from, MK.Glow.AntiFlickerMode to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class WorkflowParameter : VolumeParameter<MK.Glow.Workflow>
{
public override void Interp(MK.Glow.Workflow from, MK.Glow.Workflow to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class LayerMaskParameter : VolumeParameter<LayerMask>
{
public override void Interp(LayerMask from, LayerMask to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class MinMaxRangeParameter : VolumeParameter<MK.Glow.MinMaxRange>
{
public override void Interp(MK.Glow.MinMaxRange from, MK.Glow.MinMaxRange to, float t)
{
m_Value.minValue = Mathf.Lerp(from.minValue, to.minValue, t);
m_Value.maxValue = Mathf.Lerp(from.maxValue, to.maxValue, t);
}
}
[System.Serializable]
public sealed class GlareStyleParameter : VolumeParameter<GlareStyle>
{
public override void Interp(GlareStyle from, GlareStyle to, float t)
{
value = t > 0 ? to : from;
}
}
[System.Serializable]
public sealed class LensFlareStyleParameter : VolumeParameter<LensFlareStyle>
{
public override void Interp(LensFlareStyle from, LensFlareStyle to, float t)
{
value = t > 0 ? to : from;
}
}
#if UNITY_EDITOR
public BoolParameter showEditorMainBehavior = new BoolParameter(true);
public BoolParameter showEditorBloomBehavior = new BoolParameter(false);
public BoolParameter showEditorLensSurfaceBehavior = new BoolParameter(false);
public BoolParameter showEditorLensFlareBehavior = new BoolParameter(false);
public BoolParameter showEditorGlareBehavior = new BoolParameter(false);
/// <summary>
/// Keep this value always untouched, editor internal only
/// </summary>
public BoolParameter isInitialized = new BoolParameter(false, true);
#endif
//Main
public BoolParameter allowGeometryShaders = new BoolParameter(true);
public BoolParameter allowComputeShaders = new BoolParameter(true);
public RenderPriorityParameter renderPriority = new RenderPriorityParameter() { value = RenderPriority.Balanced };
public DebugViewParameter debugView = new DebugViewParameter() { value = MK.Glow.DebugView.None };
public QualityParameter quality = new QualityParameter() { value = MK.Glow.Quality.High };
public AntiFlickerModeParameter antiFlickerMode = new AntiFlickerModeParameter() { value = MK.Glow.AntiFlickerMode.Balanced };
public WorkflowParameter workflow = new WorkflowParameter() { value = MK.Glow.Workflow.Threshold };
public LayerMaskParameter selectiveRenderLayerMask = new LayerMaskParameter() { value = -1 };
[Range(-1f, 1f)]
public ClampedFloatParameter anamorphicRatio = new ClampedFloatParameter(0, -1, 1);
[Range(0f, 1f)]
public ClampedFloatParameter lumaScale = new ClampedFloatParameter(0.5f, 0, 1);
[Range(0f, 1f)]
public ClampedFloatParameter blooming = new ClampedFloatParameter(0, 0, 1);
//Bloom
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRangeParameter bloomThreshold = new MinMaxRangeParameter() { value = new MinMaxRange(1.25f, 10f) };
[Range(1f, 10f)]
public ClampedFloatParameter bloomScattering = new ClampedFloatParameter(7, 1, 10);
public FloatParameter bloomIntensity = new FloatParameter(0);
//LensSurface
public BoolParameter allowLensSurface = new BoolParameter(false, true);
public Texture2DParameter lensSurfaceDirtTexture = new Texture2DParameter();
public FloatParameter lensSurfaceDirtIntensity = new FloatParameter(0);
public Texture2DParameter lensSurfaceDiffractionTexture = new Texture2DParameter();
public FloatParameter lensSurfaceDiffractionIntensity = new FloatParameter(0);
//LensFlare
public BoolParameter allowLensFlare = new BoolParameter(false, true);
public LensFlareStyleParameter lensFlareStyle = new LensFlareStyleParameter() { value = LensFlareStyle.Average };
[Range(0f, 25f)]
public ClampedFloatParameter lensFlareGhostFade = new ClampedFloatParameter(10, 0, 25);
public FloatParameter lensFlareGhostIntensity = new FloatParameter(0);
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRangeParameter lensFlareThreshold = new MinMaxRangeParameter() { value = new MinMaxRange(1.3f, 10f) };
[Range(0f, 8f)]
public ClampedFloatParameter lensFlareScattering = new ClampedFloatParameter(5, 0, 8);
public Texture2DParameter lensFlareColorRamp = new Texture2DParameter();
[Range(-100f, 100f)]
public ClampedFloatParameter lensFlareChromaticAberration = new ClampedFloatParameter(53, -100, 100);
[Range(0, 5)]
public ClampedIntParameter lensFlareGhostCount = new ClampedIntParameter(3, 0, 5);
[Range(-1f, 1f)]
public ClampedFloatParameter lensFlareGhostDispersal = new ClampedFloatParameter(0.6f, -1, 1);
[Range(0f, 25f)]
public ClampedFloatParameter lensFlareHaloFade = new ClampedFloatParameter(2, 0, 25);
public FloatParameter lensFlareHaloIntensity = new FloatParameter(2);
[Range(0f, 1f)]
public ClampedFloatParameter lensFlareHaloSize = new ClampedFloatParameter(0.4f, 0, 1);
//Glare
public BoolParameter allowGlare = new BoolParameter(false, true);
[Range(0.0f, 1.0f)]
public ClampedFloatParameter glareBlend = new ClampedFloatParameter(0.33f, 0, 1);
public FloatParameter glareIntensity = new FloatParameter(1);
[Range(0.0f, 360.0f)]
public ClampedFloatParameter glareAngle = new ClampedFloatParameter(0, 0, 360);
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRangeParameter glareThreshold = new MinMaxRangeParameter() { value = new MinMaxRange(1.25f, 10f)};
[Range(1, 4)]
public ClampedIntParameter glareStreaks = new ClampedIntParameter(4, 1, 4);
[Range(0.0f, 4.0f)]
public ClampedFloatParameter glareScattering = new ClampedFloatParameter(2, 0, 4);
public GlareStyleParameter glareStyle = new GlareStyleParameter() { value = GlareStyle.DistortedCross };
//Sample0
[Range(0f, 10f)]
public ClampedFloatParameter glareSample0Scattering = new ClampedFloatParameter(5, 0, 10);
[Range(0f, 360f)]
public ClampedFloatParameter glareSample0Angle = new ClampedFloatParameter(0, 0, 360);
public FloatParameter glareSample0Intensity = new FloatParameter(0);
[Range(0f, 10f)]
public ClampedFloatParameter glareSample0Offset = new ClampedFloatParameter(0, 0, 10);
//Sample1
[Range(0f, 10f)]
public ClampedFloatParameter glareSample1Scattering = new ClampedFloatParameter(5, 0, 10);
[Range(0f, 360f)]
public ClampedFloatParameter glareSample1Angle = new ClampedFloatParameter(45, 0, 360);
public FloatParameter glareSample1Intensity = new FloatParameter(0);
[Range(0f, 10f)]
public ClampedFloatParameter glareSample1Offset = new ClampedFloatParameter(0, 0, 10);
//Sample0
[Range(0f, 10f)]
public ClampedFloatParameter glareSample2Scattering = new ClampedFloatParameter(5, 0, 10);
[Range(0f, 360f)]
public ClampedFloatParameter glareSample2Angle = new ClampedFloatParameter(90, 0, 360);
public FloatParameter glareSample2Intensity = new FloatParameter(0);
[Range(0f, 10f)]
public ClampedFloatParameter glareSample2Offset = new ClampedFloatParameter(0, 0, 10);
//Sample0
[Range(0f, 10f)]
public ClampedFloatParameter glareSample3Scattering = new ClampedFloatParameter(5, 0, 10);
[Range(0f, 360f)]
public ClampedFloatParameter glareSample3Angle = new ClampedFloatParameter(135, 0, 360);
public FloatParameter glareSample3Intensity = new FloatParameter(0);
[Range(0f, 10f)]
public ClampedFloatParameter glareSample3Offset = new ClampedFloatParameter(0, 0, 10);
public bool IsActive() => Compatibility.IsSupported && (bloomIntensity.value > 0 || allowLensFlare.value && (lensFlareGhostIntensity.value > 0 || lensFlareHaloIntensity.value > 0) || allowGlare.value && glareIntensity.value > 0 && (glareSample0Intensity.value > 0 || glareSample1Intensity.value > 0 || glareSample2Intensity.value > 0 || glareSample3Intensity.value > 0));
public bool IsTileCompatible() => true;
/////////////////////////////////////////////////////////////////////////////////////////////
// Settings
/////////////////////////////////////////////////////////////////////////////////////////////
public bool GetAllowGeometryShaders()
{
return false;
}
public bool GetAllowComputeShaders()
{
return false;
}
public RenderPriority GetRenderPriority()
{
return renderPriority.value;
}
public MK.Glow.DebugView GetDebugView()
{
return debugView.value;
}
public MK.Glow.Quality GetQuality()
{
return quality.value;
}
public MK.Glow.AntiFlickerMode GetAntiFlickerMode()
{
return antiFlickerMode.value;
}
public MK.Glow.Workflow GetWorkflow()
{
return workflow.value;
}
public LayerMask GetSelectiveRenderLayerMask()
{
return selectiveRenderLayerMask.value;
}
public float GetAnamorphicRatio()
{
return anamorphicRatio.value;
}
public float GetLumaScale()
{
return lumaScale.value;
}
public float GetBlooming()
{
return blooming.value;
}
//Bloom
public MK.Glow.MinMaxRange GetBloomThreshold()
{
return bloomThreshold.value;
}
public float GetBloomScattering()
{
return bloomScattering.value;
}
public float GetBloomIntensity()
{
return bloomIntensity.value;
}
//LensSurface
public bool GetAllowLensSurface()
{
return allowLensSurface.value;
}
public Texture2D GetLensSurfaceDirtTexture()
{
return lensSurfaceDirtTexture.value;
}
public float GetLensSurfaceDirtIntensity()
{
return lensSurfaceDirtIntensity.value;
}
public Texture2D GetLensSurfaceDiffractionTexture()
{
return lensSurfaceDiffractionTexture.value;
}
public float GetLensSurfaceDiffractionIntensity()
{
return lensSurfaceDiffractionIntensity.value;
}
//LensFlare
public bool GetAllowLensFlare()
{
return allowLensFlare.value;
}
public LensFlareStyle GetLensFlareStyle()
{
return lensFlareStyle.value;
}
public float GetLensFlareGhostFade()
{
return lensFlareGhostFade.value;
}
public float GetLensFlareGhostIntensity()
{
return lensFlareGhostIntensity.value;
}
public MK.Glow.MinMaxRange GetLensFlareThreshold()
{
return lensFlareThreshold.value;
}
public float GetLensFlareScattering()
{
return lensFlareScattering.value;
}
public Texture2D GetLensFlareColorRamp()
{
return lensFlareColorRamp.value;
}
public float GetLensFlareChromaticAberration()
{
return lensFlareChromaticAberration.value;
}
public int GetLensFlareGhostCount()
{
return lensFlareGhostCount.value;
}
public float GetLensFlareGhostDispersal()
{
return lensFlareGhostDispersal.value;
}
public float GetLensFlareHaloFade()
{
return lensFlareHaloFade.value;
}
public float GetLensFlareHaloIntensity()
{
return lensFlareHaloIntensity.value;
}
public float GetLensFlareHaloSize()
{
return lensFlareHaloSize.value;
}
public void SetLensFlareGhostFade(float fade)
{
lensFlareGhostFade.value = fade;
}
public void SetLensFlareGhostCount(int count)
{
lensFlareGhostCount.value = count;
}
public void SetLensFlareGhostDispersal(float dispersal)
{
lensFlareGhostDispersal.value = dispersal;
}
public void SetLensFlareHaloFade(float fade)
{
lensFlareHaloFade.value = fade;
}
public void SetLensFlareHaloSize(float size)
{
lensFlareHaloSize.value = size;
}
//Glare
public bool GetAllowGlare()
{
return allowGlare.value;
}
public float GetGlareBlend()
{
return glareBlend.value;
}
public float GetGlareIntensity()
{
return glareIntensity.value;
}
public float GetGlareAngle()
{
return glareAngle.value;
}
public MK.Glow.MinMaxRange GetGlareThreshold()
{
return glareThreshold.value;
}
public int GetGlareStreaks()
{
return glareStreaks.value;
}
public void SetGlareStreaks(int count)
{
glareStreaks.value = count;
}
public float GetGlareScattering()
{
return glareScattering.value;
}
public GlareStyle GetGlareStyle()
{
return glareStyle.value;
}
//Sample0
public float GetGlareSample0Scattering()
{
return glareSample0Scattering.value;
}
public float GetGlareSample0Angle()
{
return glareSample0Angle.value;
}
public float GetGlareSample0Intensity()
{
return glareSample0Intensity.value;
}
public float GetGlareSample0Offset()
{
return glareSample0Offset.value;
}
public void SetGlareSample0Scattering(float scattering)
{
glareSample0Scattering.value = scattering;
}
public void SetGlareSample0Angle(float angle)
{
glareSample0Angle.value = angle;
}
public void SetGlareSample0Intensity(float intensity)
{
glareSample0Intensity.value = intensity;
}
public void SetGlareSample0Offset(float offset)
{
glareSample0Offset.value = offset;
}
//Sample1
public float GetGlareSample1Scattering()
{
return glareSample1Scattering.value;
}
public float GetGlareSample1Angle()
{
return glareSample1Angle.value;
}
public float GetGlareSample1Intensity()
{
return glareSample1Intensity.value;
}
public float GetGlareSample1Offset()
{
return glareSample1Offset.value;
}
public void SetGlareSample1Scattering(float scattering)
{
glareSample1Scattering.value = scattering;
}
public void SetGlareSample1Angle(float angle)
{
glareSample1Angle.value = angle;
}
public void SetGlareSample1Intensity(float intensity)
{
glareSample1Intensity.value = intensity;
}
public void SetGlareSample1Offset(float offset)
{
glareSample1Offset.value = offset;
}
//Sample2
public float GetGlareSample2Scattering()
{
return glareSample2Scattering.value;
}
public float GetGlareSample2Angle()
{
return glareSample2Angle.value;
}
public float GetGlareSample2Intensity()
{
return glareSample2Intensity.value;
}
public float GetGlareSample2Offset()
{
return glareSample2Offset.value;
}
public void SetGlareSample2Scattering(float scattering)
{
glareSample2Scattering.value = scattering;
}
public void SetGlareSample2Angle(float angle)
{
glareSample2Angle.value = angle;
}
public void SetGlareSample2Intensity(float intensity)
{
glareSample2Intensity.value = intensity;
}
public void SetGlareSample2Offset(float offset)
{
glareSample2Offset.value = offset;
}
//Sample3
public float GetGlareSample3Scattering()
{
return glareSample3Scattering.value;
}
public float GetGlareSample3Angle()
{
return glareSample3Angle.value;
}
public float GetGlareSample3Intensity()
{
return glareSample3Intensity.value;
}
public float GetGlareSample3Offset()
{
return glareSample3Offset.value;
}
public void SetGlareSample3Scattering(float scattering)
{
glareSample3Scattering.value = scattering;
}
public void SetGlareSample3Angle(float angle)
{
glareSample3Angle.value = angle;
}
public void SetGlareSample3Intensity(float intensity)
{
glareSample3Intensity.value = intensity;
}
public void SetGlareSample3Offset(float offset)
{
glareSample3Offset.value = offset;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 48c981ee17d53ea42b3cb31ca0b891a4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,837 @@
//////////////////////////////////////////////////////
// MK Glow URP Renderer Feature //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
using System;
#if UNITY_2023_3_OR_NEWER
using UnityEngine.Rendering.RenderGraphModule;
#endif
namespace MK.Glow.URP
{
public class MKGlowRendererFeature : ScriptableRendererFeature, MK.Glow.ISettings
{
/////////////////////////////////////////////////////////////////////////////////////////////
// Renderer Feature Only Properties
/////////////////////////////////////////////////////////////////////////////////////////////
#if UNITY_EDITOR
public bool showEditorMainBehavior = true;
public bool showEditorBloomBehavior;
public bool showEditorLensSurfaceBehavior;
public bool showEditorLensFlareBehavior;
public bool showEditorGlareBehavior;
#endif
public enum Workmode
{
[UnityEngine.InspectorName("Post-Process Volumes")]
PostProcessVolumes = 0,
[UnityEngine.InspectorName("Global")]
Global = 1
};
public Workmode workmode = Workmode.PostProcessVolumes;
//Main
public bool allowGeometryShaders = true;
public bool allowComputeShaders = true;
public RenderPriority renderPriority = RenderPriority.Balanced;
public DebugView debugView = MK.Glow.DebugView.None;
public Quality quality = MK.Glow.Quality.High;
public AntiFlickerMode antiFlickerMode = AntiFlickerMode.Balanced;
public Workflow workflow = MK.Glow.Workflow.Threshold;
public LayerMask selectiveRenderLayerMask = -1;
[Range(-1f, 1f)]
public float anamorphicRatio = 0f;
[Range(0f, 1f)]
public float lumaScale = 0.5f;
[Range(0f, 1f)]
public float blooming = 0f;
//Bloom
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRange bloomThreshold = new MinMaxRange(1.25f, 10f);
[Range(1f, 10f)]
public float bloomScattering = 7f;
public float bloomIntensity = 1f;
//LensSurface
public bool allowLensSurface = false;
public Texture2D lensSurfaceDirtTexture;
public float lensSurfaceDirtIntensity = 2.5f;
public Texture2D lensSurfaceDiffractionTexture;
public float lensSurfaceDiffractionIntensity = 2.0f;
//LensFlare
public bool allowLensFlare = false;
public LensFlareStyle lensFlareStyle = LensFlareStyle.Average;
[Range(0f, 25f)]
public float lensFlareGhostFade = 10.0f;
public float lensFlareGhostIntensity = 1.0f;
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRange lensFlareThreshold = new MinMaxRange(1.3f, 10f);
[Range(0f, 8f)]
public float lensFlareScattering = 5f;
public Texture2D lensFlareColorRamp;
[Range(-100f, 100f)]
public float lensFlareChromaticAberration = 53f;
[Range(1, 4)]
public int lensFlareGhostCount = 3;
[Range(-1f, 1f)]
public float lensFlareGhostDispersal = 0.6f;
[Range(0f, 25f)]
public float lensFlareHaloFade = 2f;
public float lensFlareHaloIntensity = 1.0f;
[Range(0f, 1f)]
public float lensFlareHaloSize = 0.4f;
//Glare
public bool allowGlare = false;
[Range(0.0f, 1.0f)]
public float glareBlend = 0.33f;
public float glareIntensity = 1f;
[Range(0.0f, 360.0f)]
public float glareAngle = 0f;
[MK.Glow.MinMaxRange(0, 10)]
public MinMaxRange glareThreshold = new MinMaxRange(1.25f, 10f);
[Range(1, 4)]
public int glareStreaks = 4;
public GlareStyle glareStyle = GlareStyle.DistortedCross;
[Range(0.0f, 4.0f)]
public float glareScattering = 2f;
//Sample0
[Range(0f, 10f)]
public float glareSample0Scattering = 5f;
[Range(0f, 360f)]
public float glareSample0Angle = 0f;
public float glareSample0Intensity = 1f;
[Range(-5f, 5f)]
public float glareSample0Offset = 0f;
//Sample1
[Range(0f, 10f)]
public float glareSample1Scattering = 5f;
[Range(0f, 360f)]
public float glareSample1Angle = 45f;
public float glareSample1Intensity = 1f;
[Range(-5f, 5f)]
public float glareSample1Offset = 0f;
//Sample0
[Range(0f, 10f)]
public float glareSample2Scattering = 5f;
[Range(0f, 360f)]
public float glareSample2Angle = 90f;
public float glareSample2Intensity = 1f;
[Range(-5f, 5f)]
public float glareSample2Offset = 0f;
//Sample0
[Range(0f, 10f)]
public float glareSample3Scattering = 5f;
[Range(0f, 360f)]
public float glareSample3Angle = 135f;
public float glareSample3Intensity = 1f;
[Range(-5f, 5f)]
public float glareSample3Offset = 0f;
/////////////////////////////////////////////////////////////////////////////////////////////
// Settings
/////////////////////////////////////////////////////////////////////////////////////////////
public bool GetAllowGeometryShaders()
{
return false;
}
public bool GetAllowComputeShaders()
{
return false;
}
public RenderPriority GetRenderPriority()
{
return renderPriority;
}
public MK.Glow.DebugView GetDebugView()
{
return debugView;
}
public MK.Glow.Quality GetQuality()
{
return quality;
}
public MK.Glow.AntiFlickerMode GetAntiFlickerMode()
{
return antiFlickerMode;
}
public MK.Glow.Workflow GetWorkflow()
{
return workflow;
}
public LayerMask GetSelectiveRenderLayerMask()
{
return selectiveRenderLayerMask;
}
public float GetAnamorphicRatio()
{
return anamorphicRatio;
}
public float GetLumaScale()
{
return lumaScale;
}
public float GetBlooming()
{
return blooming;
}
//Bloom
public MK.Glow.MinMaxRange GetBloomThreshold()
{
return bloomThreshold;
}
public float GetBloomScattering()
{
return bloomScattering;
}
public float GetBloomIntensity()
{
return bloomIntensity;
}
//LensSurface
public bool GetAllowLensSurface()
{
return allowLensSurface;
}
public Texture2D GetLensSurfaceDirtTexture()
{
return lensSurfaceDirtTexture;
}
public float GetLensSurfaceDirtIntensity()
{
return lensSurfaceDirtIntensity;
}
public Texture2D GetLensSurfaceDiffractionTexture()
{
return lensSurfaceDiffractionTexture;
}
public float GetLensSurfaceDiffractionIntensity()
{
return lensSurfaceDiffractionIntensity;
}
//LensFlare
public bool GetAllowLensFlare()
{
return allowLensFlare;
}
public LensFlareStyle GetLensFlareStyle()
{
return lensFlareStyle;
}
public float GetLensFlareGhostFade()
{
return lensFlareGhostFade;
}
public float GetLensFlareGhostIntensity()
{
return lensFlareGhostIntensity;
}
public MK.Glow.MinMaxRange GetLensFlareThreshold()
{
return lensFlareThreshold;
}
public float GetLensFlareScattering()
{
return lensFlareScattering;
}
public Texture2D GetLensFlareColorRamp()
{
return lensFlareColorRamp;
}
public float GetLensFlareChromaticAberration()
{
return lensFlareChromaticAberration;
}
public int GetLensFlareGhostCount()
{
return lensFlareGhostCount;
}
public float GetLensFlareGhostDispersal()
{
return lensFlareGhostDispersal;
}
public float GetLensFlareHaloFade()
{
return lensFlareHaloFade;
}
public float GetLensFlareHaloIntensity()
{
return lensFlareHaloIntensity;
}
public float GetLensFlareHaloSize()
{
return lensFlareHaloSize;
}
public void SetLensFlareGhostFade(float fade)
{
lensFlareGhostFade = fade;
}
public void SetLensFlareGhostCount(int count)
{
lensFlareGhostCount = count;
}
public void SetLensFlareGhostDispersal(float dispersal)
{
lensFlareGhostDispersal = dispersal;
}
public void SetLensFlareHaloFade(float fade)
{
lensFlareHaloFade = fade;
}
public void SetLensFlareHaloSize(float size)
{
lensFlareHaloSize = size;
}
//Glare
public bool GetAllowGlare()
{
return allowGlare;
}
public float GetGlareBlend()
{
return glareBlend;
}
public float GetGlareIntensity()
{
return glareIntensity;
}
public float GetGlareAngle()
{
return glareAngle;
}
public MK.Glow.MinMaxRange GetGlareThreshold()
{
return glareThreshold;
}
public int GetGlareStreaks()
{
return glareStreaks;
}
public void SetGlareStreaks(int count)
{
glareStreaks = count;
}
public float GetGlareScattering()
{
return glareScattering;
}
public GlareStyle GetGlareStyle()
{
return glareStyle;
}
//Sample0
public float GetGlareSample0Scattering()
{
return glareSample0Scattering;
}
public float GetGlareSample0Angle()
{
return glareSample0Angle;
}
public float GetGlareSample0Intensity()
{
return glareSample0Intensity;
}
public float GetGlareSample0Offset()
{
return glareSample0Offset;
}
public void SetGlareSample0Scattering(float scattering)
{
glareSample0Scattering = scattering;
}
public void SetGlareSample0Angle(float angle)
{
glareSample0Angle = angle;
}
public void SetGlareSample0Intensity(float intensity)
{
glareSample0Intensity = intensity;
}
public void SetGlareSample0Offset(float offset)
{
glareSample0Offset = offset;
}
//Sample1
public float GetGlareSample1Scattering()
{
return glareSample1Scattering;
}
public float GetGlareSample1Angle()
{
return glareSample1Angle;
}
public float GetGlareSample1Intensity()
{
return glareSample1Intensity;
}
public float GetGlareSample1Offset()
{
return glareSample1Offset;
}
public void SetGlareSample1Scattering(float scattering)
{
glareSample1Scattering = scattering;
}
public void SetGlareSample1Angle(float angle)
{
glareSample1Angle = angle;
}
public void SetGlareSample1Intensity(float intensity)
{
glareSample1Intensity = intensity;
}
public void SetGlareSample1Offset(float offset)
{
glareSample1Offset = offset;
}
//Sample2
public float GetGlareSample2Scattering()
{
return glareSample2Scattering;
}
public float GetGlareSample2Angle()
{
return glareSample2Angle;
}
public float GetGlareSample2Intensity()
{
return glareSample2Intensity;
}
public float GetGlareSample2Offset()
{
return glareSample2Offset;
}
public void SetGlareSample2Scattering(float scattering)
{
glareSample2Scattering = scattering;
}
public void SetGlareSample2Angle(float angle)
{
glareSample2Angle = angle;
}
public void SetGlareSample2Intensity(float intensity)
{
glareSample2Intensity = intensity;
}
public void SetGlareSample2Offset(float offset)
{
glareSample2Offset = offset;
}
//Sample3
public float GetGlareSample3Scattering()
{
return glareSample3Scattering;
}
public float GetGlareSample3Angle()
{
return glareSample3Angle;
}
public float GetGlareSample3Intensity()
{
return glareSample3Intensity;
}
public float GetGlareSample3Offset()
{
return glareSample3Offset;
}
public void SetGlareSample3Scattering(float scattering)
{
glareSample3Scattering = scattering;
}
public void SetGlareSample3Angle(float angle)
{
glareSample3Angle = angle;
}
public void SetGlareSample3Intensity(float intensity)
{
glareSample3Intensity = intensity;
}
public void SetGlareSample3Offset(float offset)
{
glareSample3Offset = offset;
}
class MKGlowRenderPass : ScriptableRenderPass, MK.Glow.ICameraData
{
private MK.Glow.URP.MKGlow _mKGlowVolumeComponent = null;
private MK.Glow.URP.MKGlow mKGlowVolumeComponent
{
get
{
_mKGlowVolumeComponent = VolumeManager.instance.stack.GetComponent<MK.Glow.URP.MKGlow>();
return _mKGlowVolumeComponent;
}
}
internal Effect effect = new Effect();
internal ScriptableRenderer scriptableRenderer;
internal MK.Glow.ISettings settingsRendererFeature = null;
internal Workmode workmode = Workmode.PostProcessVolumes;
private RenderTarget sourceRenderTarget, destinationRenderTarget;
private MK.Glow.ISettings _settingsPostProcessingVolume = null;
private MK.Glow.ISettings _activeSettings = null;
private RenderTextureDescriptor _sourceDescriptor;
private readonly int _rendererBufferID = Shader.PropertyToID("_MKGlowScriptableRendererOutput");
private readonly string _profilerName = "MKGlow";
private Material _copyMaterial;
private readonly Shader _copyShader = Shader.Find("Hidden/MK/Glow/URP/Copy");
private readonly int _mainTexID = Shader.PropertyToID("_MainTex");
public MKGlowRenderPass()
{
this.renderPassEvent = RenderPassEvent.AfterRenderingTransparents;
this._copyMaterial = new Material(_copyShader) { hideFlags = HideFlags.HideAndDontSave };
}
public void Dispose()
{
PipelineExtensions.Destroy(_copyMaterial);
}
#if UNITY_2023_3_OR_NEWER
[System.Obsolete]
#endif
public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
{
_sourceDescriptor = cameraTextureDescriptor;
}
#if UNITY_2021_3_OR_NEWER
#if UNITY_2023_3_OR_NEWER
[System.Obsolete]
#endif
public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)
{
base.OnCameraSetup(cmd, ref renderingData);
#if UNITY_2022_1_OR_NEWER
sourceRenderTarget.renderTargetIdentifier = scriptableRenderer.cameraColorTargetHandle;
#else
sourceRenderTarget.renderTargetIdentifier = scriptableRenderer.cameraColorTarget;
#endif
}
#endif
private static Mesh _fullScreenMesh;
public static Mesh fullscreenMesh
{
get
{
if (_fullScreenMesh != null)
return _fullScreenMesh;
float topV = 1.0f;
float bottomV = 0.0f;
_fullScreenMesh = new Mesh { name = "Fullscreen Quad" };
_fullScreenMesh.SetVertices(new List<Vector3>
{
new Vector3(-1.0f, -1.0f, 0.0f),
new Vector3(-1.0f, 1.0f, 0.0f),
new Vector3(1.0f, -1.0f, 0.0f),
new Vector3(1.0f, 1.0f, 0.0f)
});
_fullScreenMesh.SetUVs(0, new List<Vector2>
{
new Vector2(0.0f, bottomV),
new Vector2(0.0f, topV),
new Vector2(1.0f, bottomV),
new Vector2(1.0f, topV)
});
_fullScreenMesh.SetIndices(new[] { 0, 1, 2, 2, 1, 3 }, MeshTopology.Triangles, 0, false);
_fullScreenMesh.UploadMeshData(true);
return _fullScreenMesh;
}
}
#if UNITY_2023_3_OR_NEWER
[System.Obsolete]
#endif
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
if(workmode == Workmode.PostProcessVolumes)
{
if(mKGlowVolumeComponent == null || renderingData.cameraData.camera == null)
return;
if(!_mKGlowVolumeComponent.IsActive())
return;
}
else
{
if(renderingData.cameraData.camera == null)
return;
}
_settingsPostProcessingVolume = _mKGlowVolumeComponent;
_activeSettings = workmode == Workmode.PostProcessVolumes ? _settingsPostProcessingVolume : settingsRendererFeature;
CommandBuffer cmd = CommandBufferPool.Get(_profilerName);
if(renderingData.cameraData.camera.allowDynamicResolution)
{
_passData.cameraWidth = Mathf.RoundToInt(renderingData.cameraData.cameraTargetDescriptor.width * ScalableBufferManager.widthScaleFactor);
_passData.cameraHeight = Mathf.RoundToInt(renderingData.cameraData.cameraTargetDescriptor.height * ScalableBufferManager.heightScaleFactor);
}
else
{
_passData.cameraWidth = renderingData.cameraData.cameraTargetDescriptor.width;
_passData.cameraHeight = renderingData.cameraData.cameraTargetDescriptor.height;
}
#if UNITY_2020_2_OR_NEWER
_passData.stereoEnabled = renderingData.cameraData.xrRendering;
#else
_passData.stereoEnabled = renderingData.cameraData.isStereoEnabled;
#endif
_passData.aspect = renderingData.cameraData.camera.aspect;
_passData.worldToCameraMatrix = renderingData.cameraData.camera.worldToCameraMatrix;
_passData.hasTargetTexture = renderingData.cameraData.camera.targetTexture != null ? true : false;
#if !UNITY_2021_3_OR_NEWER
sourceRenderTarget.renderTargetIdentifier = scriptableRenderer.cameraColorTarget;
#endif
destinationRenderTarget.identifier = _rendererBufferID;
#if UNITY_2018_2_OR_NEWER
destinationRenderTarget.renderTargetIdentifier = new RenderTargetIdentifier(destinationRenderTarget.identifier, 0, CubemapFace.Unknown, -1);
#else
destinationRenderTarget.renderTargetIdentifier = new RenderTargetIdentifier(destinationRenderTarget.identifier);
#endif
cmd.GetTemporaryRT(destinationRenderTarget.identifier, _sourceDescriptor, FilterMode.Bilinear);
cmd.SetGlobalTexture(_mainTexID, sourceRenderTarget.renderTargetIdentifier);
cmd.SetRenderTarget(destinationRenderTarget.renderTargetIdentifier, 0, CubemapFace.Unknown, -1);
cmd.DrawMesh(fullscreenMesh, Matrix4x4.identity, _copyMaterial, 0, 0);
effect.Build(destinationRenderTarget, sourceRenderTarget, _activeSettings, cmd, this, renderingData.cameraData.camera);
cmd.ReleaseTemporaryRT(destinationRenderTarget.identifier);
context.ExecuteCommandBuffer(cmd);
cmd.Clear();
CommandBufferPool.Release(cmd);
}
private PassData _passData = new PassData();
private class PassData
{
#if UNITY_2023_3_OR_NEWER
internal TextureHandle src;
internal TextureHandle dest;
#endif
internal Workmode workmode = Workmode.PostProcessVolumes;
internal MK.Glow.URP.MKGlow mKGlowVolumeComponent = null;
#if UNITY_2023_3_OR_NEWER
public UniversalCameraData universalCameraData = null;
#endif
internal MK.Glow.ISettings settingsRendererFeature = null;
internal MK.Glow.Effect effect;
internal MK.Glow.URP.MKGlowRendererFeature.MKGlowRenderPass rendererFeaturePass;
public int mainTexID;
public Material copyMaterial;
public int cameraWidth;
public int cameraHeight;
public bool stereoEnabled;
public float aspect;
public Matrix4x4 worldToCameraMatrix;
public bool hasTargetTexture;
}
#if UNITY_2023_3_OR_NEWER
static void ExecutePass(PassData data, UnsafeGraphContext context)
{
CommandBuffer unsafeCmd = CommandBufferHelpers.GetNativeCommandBuffer(context.cmd);
if(data.workmode == Workmode.PostProcessVolumes)
{
if(data.mKGlowVolumeComponent == null || data.universalCameraData.camera == null)
return;
if(!data.mKGlowVolumeComponent.IsActive())
return;
}
else
{
if(data.universalCameraData.camera == null)
return;
}
MK.Glow.ISettings _activeSettings = data.workmode == Workmode.PostProcessVolumes ? data.mKGlowVolumeComponent : data.settingsRendererFeature;
CommandBuffer cmd = unsafeCmd;
RenderTarget sourceRenderTarget = new RenderTarget();
RenderTarget destinationRenderTarget = new RenderTarget();
sourceRenderTarget.renderTargetIdentifier = data.src;
destinationRenderTarget.renderTargetIdentifier = data.dest;
cmd.SetGlobalTexture(data.mainTexID, sourceRenderTarget.renderTargetIdentifier);
cmd.SetRenderTarget(destinationRenderTarget.renderTargetIdentifier, 0, CubemapFace.Unknown, -1);
cmd.DrawMesh(fullscreenMesh, Matrix4x4.identity, data.copyMaterial, 0, 0);
data.effect.Build(destinationRenderTarget, sourceRenderTarget, _activeSettings, cmd, data.rendererFeaturePass, data.universalCameraData.camera);
}
public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData)
{
string passName = "MK Glow Render Graph";
using (var builder = renderGraph.AddUnsafePass<PassData>(passName, out var passData))
{
UniversalResourceData resourceData = frameData.Get<UniversalResourceData>();
UniversalCameraData universalCameraData = frameData.Get<UniversalCameraData>();
passData.workmode = this.workmode;
passData.mKGlowVolumeComponent = this.mKGlowVolumeComponent;
passData.universalCameraData = universalCameraData;
passData.effect = this.effect;
passData.rendererFeaturePass = this;
passData.mainTexID = _mainTexID;
passData.copyMaterial = _copyMaterial;
if(universalCameraData.camera.allowDynamicResolution)
{
passData.cameraWidth = Mathf.RoundToInt(universalCameraData.cameraTargetDescriptor.width * ScalableBufferManager.widthScaleFactor);
passData.cameraHeight = Mathf.RoundToInt(universalCameraData.cameraTargetDescriptor.height * ScalableBufferManager.heightScaleFactor);
}
else
{
passData.cameraWidth = universalCameraData.cameraTargetDescriptor.width;
passData.cameraHeight = universalCameraData.cameraTargetDescriptor.height;
}
passData.stereoEnabled = universalCameraData.xrRendering;
passData.aspect = universalCameraData.camera.aspect;
passData.worldToCameraMatrix = universalCameraData.camera.worldToCameraMatrix;
passData.hasTargetTexture = universalCameraData.camera.targetTexture != null ? true : false;
passData.settingsRendererFeature = settingsRendererFeature;
passData.src = resourceData.activeColorTexture;
RenderTextureDescriptor desc = universalCameraData.cameraTargetDescriptor;
desc.depthBufferBits = 0;
TextureHandle destination = UniversalRenderer.CreateRenderGraphTexture(renderGraph, desc, "_MKGlowScriptableRendererRenderGraphOutput", false);
passData.dest = destination;
builder.UseTexture(passData.src);
builder.UseTexture(passData.dest);
builder.AllowPassCulling(false);
_passData = passData;
builder.SetRenderFunc((PassData data, UnsafeGraphContext context) => ExecutePass(data, context));
}
}
#endif
/////////////////////////////////////////////////////////////////////////////////////////////
// Camera Data
/////////////////////////////////////////////////////////////////////////////////////////////
public int GetCameraWidth()
{
return _passData.cameraWidth;
}
public int GetCameraHeight()
{
return _passData.cameraHeight;
}
public bool GetStereoEnabled()
{
return _passData.stereoEnabled;
}
public float GetAspect()
{
return _passData.aspect;
}
public Matrix4x4 GetWorldToCameraMatrix()
{
return _passData.worldToCameraMatrix;
}
public bool GetOverwriteDescriptor()
{
return false;
}
public UnityEngine.Rendering.TextureDimension GetOverwriteDimension()
{
return UnityEngine.Rendering.TextureDimension.Tex2D;
}
public int GetOverwriteVolumeDepth()
{
return 1;
}
public bool GetTargetTexture()
{
return _passData.hasTargetTexture;
}
}
private MKGlowRenderPass _mkGlowRenderPass;
private readonly string _componentName = "MKGlow";
public override void Create()
{
_mkGlowRenderPass = new MKGlowRenderPass();
_mkGlowRenderPass.effect.Enable(RenderPipeline.SRP);
_mkGlowRenderPass.settingsRendererFeature = this;
}
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
name = _componentName;
if(_mkGlowRenderPass == null)
Create();
_mkGlowRenderPass.workmode = workmode;
//_mkGlowRenderPass.ConfigureInput(ScriptableRenderPassInput.Color);
if(workmode == Workmode.Global)
{
_mkGlowRenderPass.scriptableRenderer = renderer;
renderer.EnqueuePass(_mkGlowRenderPass);
}
else
{
if(renderingData.cameraData.postProcessEnabled)
{
_mkGlowRenderPass.scriptableRenderer = renderer;
renderer.EnqueuePass(_mkGlowRenderPass);
}
}
}
protected override void Dispose(bool disposing)
{
_mkGlowRenderPass?.effect.Disable();
_mkGlowRenderPass?.Dispose();
_mkGlowRenderPass = null;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9b7f813b992430245ad61f09b0473d9f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: db30733903f51f149808a659021f7596
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,59 @@
Shader "Hidden/MK/Glow/URP/Copy"
{
SubShader
{
Tags {"LightMode" = "Always" "RenderType"="Opaque" "PerformanceChecks"="False"}
Cull Off ZWrite Off ZTest Always
Pass
{
Name "MK Glow Copy"
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
struct Attributes
{
float4 positionHCS : POSITION;
float2 uv : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct Varyings
{
float4 positionCS : SV_POSITION;
float2 uv : TEXCOORD0;
UNITY_VERTEX_OUTPUT_STEREO
};
Varyings vert(Attributes input)
{
Varyings output;
UNITY_SETUP_INSTANCE_ID(input);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
output.positionCS = float4(input.positionHCS.xyz, 1.0);
#if UNITY_UV_STARTS_AT_TOP
output.positionCS.y *= -1;
#endif
output.uv = input.uv;
return output;
}
TEXTURE2D_X(_MainTex);
SAMPLER(sampler_MainTex);
half4 frag (Varyings input) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
return SAMPLE_TEXTURE2D_X(_MainTex, sampler_MainTex, input.uv);
}
ENDHLSL
}
}
}

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 1f9d5fcca3af4cb489fe48dfc718534f
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 7c213e268a897b14080480b79951dccd
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: feaa51050eed79f418dbf30923094fbd
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

BIN
Assets/External/MK/MKGlow/Components/URP_Component.unitypackage (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 3181139f989f14f4eba70d9c8fc56200
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Components/URP_Component.unitypackage
uploadId: 759966

9
Assets/External/MK/MKGlow/Editor.meta vendored Normal file
View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d43e4b978deb1c74f9a03c4c2d7d6bcb
folderAsset: yes
timeCreated: 1505072724
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,43 @@
//////////////////////////////////////////////////////
// MK Install Wizard Configuration //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
namespace MK.Glow.Editor.InstallWizard
{
public enum RenderPipeline
{
[UnityEngine.InspectorName("Built-in Legacy")]
Built_in_Legacy = 0,
[UnityEngine.InspectorName("Built-in + Post Processing Stack")]
Built_in_PostProcessingStack = 1,
//Lightweight = 2,
[UnityEngine.InspectorName("Universal 3D")]
Universal3D = 2,
#if UNITY_2021_2_OR_NEWER
[UnityEngine.InspectorName("Universal 2D")]
Universal2D = 3,
#endif
[UnityEngine.InspectorName("High Definition")]
High_Definition = 4
}
[System.Serializable]
public class ExampleContainer
{
public string name = "";
public UnityEngine.Object scene = null;
public UnityEngine.Texture2D icon = null;
public void DrawEditorButton()
{
if(UnityEngine.GUILayout.Button(icon, UnityEngine.GUILayout.Width(64), UnityEngine.GUILayout.Height(64)))
UnityEditor.SceneManagement.EditorSceneManager.OpenScene(UnityEditor.AssetDatabase.GetAssetOrScenePath(scene));
}
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a6c774bc908e332428f9dfa790507fc2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/Common.cs
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Editor/Configuration.asset (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 75ec4485385a80f42adc8a48e65e7a97
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/Configuration.asset
uploadId: 759966

View File

@ -0,0 +1,273 @@
//////////////////////////////////////////////////////
// MK Install Wizard Configuration //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
#if UNITY_EDITOR
using Configuration = MK.Glow.Editor.InstallWizard.Configuration;
namespace MK.Glow.Editor.InstallWizard
{
//[CreateAssetMenu(fileName = "Configuration", menuName = "MK/Install Wizard/Create Configuration Asset")]
public sealed class Configuration : ScriptableObject
{
#pragma warning disable CS0414
internal static bool isReady
{
get
{
if(_instance == null)
TryGetInstance();
return _instance != null;
}
}
[SerializeField]
private RenderPipeline _renderPipeline = RenderPipeline.Built_in_PostProcessingStack;
[SerializeField]
internal bool showInstallerOnReload = true;
[SerializeField][Space]
private Texture2D _titleImage = null;
[SerializeField][Space]
private Object _readMe = null;
[SerializeField][Space]
private Object _basePackageBuiltin = null;
[SerializeField]
private Object _basePackageLWRP = null;
[SerializeField]
private Object _basePackageURP = null;
[SerializeField]
private Object _basePackageHDRP = null;
[SerializeField][Space]
private Object _examplesPackageInc = null;
[SerializeField]
private Object _examplesPackageBuiltin = null;
[SerializeField]
private Object _examplesPackageLWRP = null;
[SerializeField]
private Object _examplesPackageURP = null;
[SerializeField]
private Object _examplesPackageURP2D = null;
[SerializeField]
private Object _examplesPackageHDRP = null;
[SerializeField]
private Object _examplesSkyHDRP = null;
[SerializeField][Space]
private ExampleContainer[] _examples = null;
private static void LogAssetNotFoundError()
{
//Debug.LogError("Could not find Install Wizard Configuration Asset, please try to import the package again.");
}
private static MK.Glow.Editor.InstallWizard.Configuration _instance = null;
[InitializeOnLoadMethod]
internal static MK.Glow.Editor.InstallWizard.Configuration TryGetInstance()
{
if(_instance == null)
{
string[] _guids = AssetDatabase.FindAssets("t:" + typeof(MK.Glow.Editor.InstallWizard.Configuration).Namespace + ".Configuration", null);
if(_guids.Length > 0)
{
_instance = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(_guids[0]), typeof(MK.Glow.Editor.InstallWizard.Configuration)) as Configuration;
if(_instance != null)
return _instance;
else
{
LogAssetNotFoundError();
return null;
}
}
else
{
LogAssetNotFoundError();
return null;
}
}
else
return _instance;
}
internal static string TryGetPath()
{
if(isReady)
{
return AssetDatabase.GetAssetPath(_instance);
}
else
{
return string.Empty;
}
}
internal static Texture2D TryGetTitleImage()
{
if(isReady)
{
return _instance._titleImage;
}
else
{
return null;
}
}
internal static ExampleContainer[] TryGetExamples()
{
if(isReady)
{
return _instance._examples;
}
else
{
return null;
}
}
internal static bool TryGetShowInstallerOnReload()
{
if(isReady)
{
return _instance.showInstallerOnReload;
}
else
{
return false;
}
}
internal static void TrySetShowInstallerOnReload(bool v)
{
if(isReady)
{
if(_instance.showInstallerOnReload == v)
return;
_instance.showInstallerOnReload = v;
SaveInstance();
}
}
internal static RenderPipeline TryGetRenderPipeline()
{
if(isReady)
{
return _instance._renderPipeline;
}
else
{
return RenderPipeline.Built_in_PostProcessingStack;
}
}
internal static void TrySetRenderPipeline(RenderPipeline v)
{
if(isReady)
{
if(_instance._renderPipeline == v)
return;
_instance._renderPipeline = v;
SaveInstance();
}
}
internal static void SaveInstance()
{
if(isReady)
{
EditorUtility.SetDirty(_instance);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
}
internal static void ImportShaders(RenderPipeline renderPipeline)
{
if(isReady)
{
switch(renderPipeline)
{
case RenderPipeline.Built_in_Legacy:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._basePackageBuiltin), false);
break;
case RenderPipeline.Built_in_PostProcessingStack:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._basePackageLWRP), false);
break;
//case RenderPipeline.Lightweight:
// AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._basePackageLWRP), false);
//break;
case RenderPipeline.Universal3D:
#if UNITY_2021_2_OR_NEWER
case RenderPipeline.Universal2D:
#endif
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._basePackageURP), false);
break;
case RenderPipeline.High_Definition:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._basePackageHDRP), false);
break;
default:
//All cases should be handled
break;
}
TrySetShowInstallerOnReload(false);
}
}
internal static void ImportExamples(RenderPipeline renderPipeline)
{
if(isReady)
{
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageInc), false);
switch(renderPipeline)
{
case RenderPipeline.Built_in_Legacy:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageBuiltin), false);
break;
case RenderPipeline.Built_in_PostProcessingStack:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageLWRP), false);
break;
//case RenderPipeline.Lightweight:
// AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageLWRP), false);
//break;
case RenderPipeline.Universal3D:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageURP), false);
break;
#if UNITY_2021_2_OR_NEWER
case RenderPipeline.Universal2D:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageURP2D), false);
break;
#endif
case RenderPipeline.High_Definition:
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesSkyHDRP), false);
AssetDatabase.ImportPackage(AssetDatabase.GetAssetPath(_instance._examplesPackageHDRP), false);
break;
}
}
}
internal static void OpenReadMe()
{
if(isReady)
{
AssetDatabase.OpenAsset(_instance._readMe);
}
}
#pragma warning restore CS0414
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 43c9baea14160014989b649a6e886278
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/Configuration.cs
uploadId: 759966

View File

@ -0,0 +1,60 @@
//////////////////////////////////////////////////////
// MK Glow Editor Helper Styles //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
namespace MK.Glow.Editor
{
public static partial class EditorHelper
{
//Based on Postprocessing stack styles to match the postprocessing stack ui
private static class EditorStyles
{
internal static readonly GUIStyle rightAlignetLabel = new GUIStyle(UnityEditor.EditorStyles.label) { alignment = TextAnchor.MiddleRight };
internal static readonly GUIStyle largeHeader = new GUIStyle(UnityEditor.EditorStyles.label) { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 18 };
internal static readonly GUIStyle headerCheckbox = new GUIStyle("ShurikenCheckMark");
internal static readonly GUIStyle headerCheckboxMixed = new GUIStyle("ShurikenCheckMarkMixed");
internal static readonly GUIStyle smallTickbox = new GUIStyle("ShurikenToggle");
static readonly Color splitterDark = new Color(0.12f, 0.12f, 0.12f, 1.333f);
static readonly Color splitterLight = splitterLight = new Color(0.6f, 0.6f, 0.6f, 1.333f);
internal static Color splitter { get { return EditorGUIUtility.isProSkin ? splitterDark : splitterLight; } }
static readonly Texture2D paneOptionsIconDark;
static readonly Texture2D paneOptionsIconLight;
internal static Texture2D paneOptionsIcon { get { return EditorGUIUtility.isProSkin ? paneOptionsIconDark : paneOptionsIconLight; } }
internal static readonly GUIStyle headerLabel = new GUIStyle(UnityEditor.EditorStyles.miniLabel);
static readonly Color headerBackgroundDark = new Color(0.1f, 0.1f, 0.1f, 0.2f);
static readonly Color headerBackgroundLight = new Color(1f, 1f, 1f, 0.2f);
internal static Color headerBackground { get { return EditorGUIUtility.isProSkin ? headerBackgroundDark : headerBackgroundLight; } }
internal static readonly GUIStyle wheelLabel = new GUIStyle(UnityEditor.EditorStyles.miniLabel);
internal static readonly GUIStyle wheelThumb = new GUIStyle("ColorPicker2DThumb");
internal static readonly Vector2 wheelThumbSize = new Vector2(
!Mathf.Approximately(wheelThumb.fixedWidth, 0f) ? wheelThumb.fixedWidth : wheelThumb.padding.horizontal,
!Mathf.Approximately(wheelThumb.fixedHeight, 0f) ? wheelThumb.fixedHeight : wheelThumb.padding.vertical
);
internal static readonly GUIStyle preLabel = new GUIStyle("ShurikenLabel");
static EditorStyles()
{
paneOptionsIconDark = (Texture2D)EditorGUIUtility.Load("Builtin Skins/DarkSkin/Images/pane options.png");
paneOptionsIconLight = (Texture2D)EditorGUIUtility.Load("Builtin Skins/LightSkin/Images/pane options.png");
}
}
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 7723b58650108ec4fafa3019ff3ad273
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/EditorHelper.EditorStyles.cs
uploadId: 759966

View File

@ -0,0 +1,193 @@
//////////////////////////////////////////////////////
// MK Glow Editor Helper UI Content //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
//Disable XRManagement warning for selective workflow
//XRpackage has to be imported...
#pragma warning disable CS0618
namespace MK.Glow.Editor
{
public static partial class EditorHelper
{
public static class EditorUIContent
{
public static class Tooltips
{
public static readonly GUIContent workmode = new GUIContent("Workmode", "Choose between a Post Processing Volume or Global workmode. \nIf Global is used, then the Post Processing Framework can be skipped.");
//Main
public static readonly GUIContent allowGeometryShaders = new GUIContent("Allow Geometry Shaders", "Allowing the pipeline to use geometry shader if available.");
public static readonly GUIContent allowComputeShaders = new GUIContent("Allow Compute Shaders", "Allowing the pipeline to use compute shader if available.");
public static readonly GUIContent renderPriority = new GUIContent("Render Priority", "Define if the pipeline should focus on quality or performance. Balanced gives you the best trade-off in terms of performance and visual quality.");
public static readonly GUIContent debugView = new GUIContent("Debug View", "Displaying of different render steps. \n \n" +
"None: Debug view is disabled. \n\n" +
"Raw Bloom: Shows extracted bloom map. \n\n" +
"Raw Lens Flare: Shows extracted lens flare map. \n\n" +
"Raw Glare: Shows extracted glare map. \n\n" +
"Bloom: Shows created bloom without lens surface. \n\n" +
"Lens Flare: Shows created lens flare without lens surface. \n\n" +
"Glare: Shows created glare without lens surface. \n\n" +
"Composite: Shows combined bloom, lensflare, glare and lens surface, just without source image. \n");
public static readonly GUIContent quality = new GUIContent("Quality", "General rendered quality of the glow. Higher setting results in better looking and less aliasing. High/Medium is recommend in most cases.");
public static readonly GUIContent antiFlickerMode = new GUIContent("AntiFlicker", "Type of antiflicker filter. Balanced should be fine for most cases. Strong tends to remove more bright parts of the resulting glow, but provides overall less flickering.");
public static readonly GUIContent workflow = new GUIContent("Workflow", "Basic definition of the workflow. \n\n" +
"Luminance: Glow map is defined by the pixels brightness and a threshold value. Just use the emission of the shaders and raise it up. Performs significantly faster than selective workflow.\n\n" +
"Selective: Glow map is created by using separate shaders (MK/Glow/Selective).\n\n" +
"Natural: Glow map is based on a realistic behavior. No colors gets cut off. Performs significantly faster than selective workflow");
public static readonly GUIContent selectiveRenderLayerMask = new GUIContent("Render Layer", "In most cases 'Everything' should be chosen to avoid Z issues.");
public static readonly GUIContent anamorphicRatio = new GUIContent("Anamorphic", "Anamorphic scaling. \n\n" +
"> 0: scaling horizontally\n" +
"< 0: scaling vertically\n" +
"0: no scaling");
public static readonly GUIContent lumaScale = new GUIContent("Luma Scale", "Mixing of the relative luminance (Luminosity function) into the glow map. Each color part contributes a different amount of light.");
public static readonly GUIContent blooming = new GUIContent("Blooming", "Blooming increases glowing parts even further. Increasing this value value gives the scene a more bloomy look.");
//Bloom
public static readonly GUIContent bloomThreshold = new GUIContent("Threshold", "Threshold in gamma space for extraction of bright areas. \n\n Min: Minimum brightness until the bloom starts. \n Max: Maximum brightness for cutting off colors.");
public static readonly GUIContent bloomScattering = new GUIContent("Scattering", "Scattering of the bloom. A higher value increases the scattered area.");
public static readonly GUIContent bloomIntensity = new GUIContent("Intensity", "Intensity of the bloom in gamma space.");
//Lens Surface
public static readonly GUIContent allowLensSurface = new GUIContent("", "");
public static readonly GUIContent lensSurfaceDirtTexture = new GUIContent("Dirt", "Dirt overlay which will be applied to the glow (RGB). Best results if texture is tileable.");
public static readonly GUIContent lensSurfaceDirtIntensity = new GUIContent("Intensity", "Intensity of the dirt effect. Value is in gamma space.");
public static readonly GUIContent lensSurfaceDiffractionTexture = new GUIContent("Diffraction", "Diffraction overlay which will be applied to the glow (RGB). Texture is rotating based on view.");
public static readonly GUIContent lensSurfaceDiffractionIntensity = new GUIContent("Intensity", "Intensity of the diffraction effect in gamma space.");
//Lens flare
public static readonly GUIContent allowLensFlare = new GUIContent("", "");
public static readonly GUIContent lensFlareStyle = new GUIContent("Style", "Style of the lens flare effect. Switch between presets or a custom style to mix up ghosts and halo.");
public static readonly GUIContent lensFlareGhostFade = new GUIContent("Fade", "Fading of the ghosts. A higher value make the ghosts less visible");
public static readonly GUIContent lensFlareGhostIntensity = new GUIContent("Intensity", "Intensity of the ghosts in gamma space.");
public static readonly GUIContent lensFlareThreshold = new GUIContent("Threshold", "Threshold in gamma space for extraction of bright areas. \n\n Min: Minimum brightness until the lens flare starts. \n Max: Maximum brightness for cutting off colors.");
public static readonly GUIContent lensFlareScattering = new GUIContent("Scattering", "Scattering of the lens flare. A higher value increases the scattered area and blurs the flare stronger.");
public static readonly GUIContent lensFlareColorRamp = new GUIContent("Color Ramp", "Color ramp of the lens flare. Tint will applied radially (RGB).");
public static readonly GUIContent lensFlareChromaticAberration = new GUIContent("Chromatic Aberration", "Strength of the chromatic aberration. A higher / lower value spread the color parts further away.");
public static readonly GUIContent lensFlareGhostCount = new GUIContent("Count", "Count of the ghosts which are created.");
public static readonly GUIContent lensFlareGhostDispersal = new GUIContent("Dispersal", "Dispersion between the ghosts.");
public static readonly GUIContent lensFlareHaloFade = new GUIContent("Fade", "Fading of the halo. A higher value make the halo less visible.");
public static readonly GUIContent lensFlareHaloIntensity = new GUIContent("Intensity", "Intensity of the halo in gamma space.");
public static readonly GUIContent lensFlareHaloSize = new GUIContent("Size", "Overall radius of the halo");
//Glare
public static readonly GUIContent allowGlare = new GUIContent("", "");
public static readonly GUIContent glareStyle = new GUIContent("Style", "Style of the glare effect. Switch between presets or a custom style up to 4 light streaks.");
public static readonly GUIContent glareStreaks = new GUIContent("Streaks", "Amount of visible glare streaks (up to a maximum of 4).");
public static readonly GUIContent glareBlend = new GUIContent("Blend", "Blending between bloom and glare. 0: more/only bloom visible, 1: more/only glare visible.");
public static readonly GUIContent glareIntensity = new GUIContent("Intensity", "Global intensity of the final glare effect. (linear)");
public static readonly GUIContent glareThreshold = new GUIContent("Threshold", "Threshold in gamma space for extraction of bright areas. \n\n Min: Minimum brightness until the glare starts. \n Max: Maximum brightness for cutting off colors.");
public static readonly GUIContent glareScattering = new GUIContent("Scattering", "Global scattering of the glare. A higher value increases the scattered area.");
public static readonly GUIContent glareAngle = new GUIContent("Angle", "Global angle of the glare.");
public static readonly GUIContent glareSample0Scattering = new GUIContent("Scattering", "Scattering of the glare sample. A higher value increases the scattered area.");
public static readonly GUIContent glareSample0Intensity = new GUIContent("Intensity", "Intensity of the glare sample in gamma space.");
public static readonly GUIContent glareSample0Angle = new GUIContent("Angle", "Angle of the glare sample in degree.");
public static readonly GUIContent glareSample0Offset = new GUIContent("Offset", "Offset of the sample based on the center.");
public static readonly GUIContent glareSample1Scattering = new GUIContent("Scattering", "Scattering of the glare sample. A higher value increases the scattered area.");
public static readonly GUIContent glareSample1Intensity = new GUIContent("Intensity", "Intensity of the glare sample in gamma space.");
public static readonly GUIContent glareSample1Angle = new GUIContent("Angle", "Angle of the glare sample in degree.");
public static readonly GUIContent glareSample1Offset = new GUIContent("Offset", "Offset of the sample based on the center.");
public static readonly GUIContent glareSample2Scattering = new GUIContent("Scattering", "Scattering of the glare sample. A higher value increases the scattered area.");
public static readonly GUIContent glareSample2Intensity = new GUIContent("Intensity", "Intensity of the glare sample in gamma space.");
public static readonly GUIContent glareSample2Angle = new GUIContent("Angle", "Angle of the glare sample in degree.");
public static readonly GUIContent glareSample2Offset = new GUIContent("Offset", "Offset of the sample based on the center.");
public static readonly GUIContent glareSample3Scattering = new GUIContent("Scattering", "Scattering of the glare sample. A higher value increases the scattered area.");
public static readonly GUIContent glareSample3Intensity = new GUIContent("Intensity", "Intensity of the glare sample in gamma space.");
public static readonly GUIContent glareSample3Angle = new GUIContent("Angle", "Angle of the glare sample in degree.");
public static readonly GUIContent glareSample3Offset = new GUIContent("Offset", "Offset of the sample based on the center.");
}
public static readonly string mainTitle = "Main";
public static readonly string bloomTitle = "Bloom";
public static readonly string lensSurfaceTitle = "Lens Surface";
public static readonly string dirtTitle = "Dirt:";
public static readonly string diffractionTitle = "Diffraction:";
public static readonly string lensFlareTitle = "Lens Flare (SM 3.0+)";
public static readonly string ghostsTitle = "Ghosts:";
public static readonly string haloTitle = "Halo:";
public static readonly string glareTitle = "Glare (SM 4.0+)";
public static readonly string sample0Title = "Sample 0:";
public static readonly string sample1Title = "Sample 1:";
public static readonly string sample2Title = "Sample 2:";
public static readonly string sample3Title = "Sample 3:";
public static void LensFlareFeatureNotSupportedWarning()
{
EditorGUILayout.HelpBox("Lens flare feature is not supported on your active graphics api / render setup.", MessageType.Warning);
}
public static void GlareFeatureNotSupportedWarning()
{
EditorGUILayout.HelpBox("Glare feature is not supported on your active graphics api / render setup.", MessageType.Warning);
}
public static void OptimalSetupWarning(UnityEngine.Camera camera, bool warningAllowed)
{
if(warningAllowed)
{
string msg = "";
if(!camera.allowHDR && PlayerSettings.colorSpace != ColorSpace.Linear)
{
msg = "linear color space and hdr";
}
else if(PlayerSettings.colorSpace != ColorSpace.Linear)
{
msg = "linear color space";
}
else if(!camera.allowHDR)
{
msg = "hdr";
}
if(!camera.allowHDR || PlayerSettings.colorSpace != ColorSpace.Linear)
EditorGUILayout.HelpBox("For best looking results its recommend to use " + msg, MessageType.Warning);
}
}
public static void XRUnityVersionWarning()
{
#if UNITY_2018_3_OR_NEWER
#else
if(PlayerSettings.virtualRealitySupported)
{
EditorGUILayout.HelpBox("Your are currently targeting XR. For best XR support its recommend to update to unity 2018.3 or higher.", MessageType.Warning);
}
#endif
}
public static void SelectiveWorkflowVRWarning(MK.Glow.Workflow workflow)
{
#if UNITY_6000_OR_NEWER
if(UnityEngine.Rendering.GraphicsSettings.defaultRenderPipeline != null && workflow == Workflow.Selective)
#else
if(UnityEngine.Rendering.GraphicsSettings.renderPipelineAsset != null && workflow == Workflow.Selective)
#endif
{
EditorGUILayout.HelpBox("Selective workflow isn't supported if a scriptable rendering pipeline is active. Please use Threshold or Natural workflow instead.", MessageType.Warning);
}
if(PlayerSettings.virtualRealitySupported && workflow == Workflow.Selective)
{
EditorGUILayout.HelpBox("Selective workflow isn't supported in XR. Please use Threshold or Natural workflow instead.", MessageType.Warning);
}
}
public static void IsNotSupportedWarning()
{
if(!Compatibility.IsSupported)
EditorGUILayout.HelpBox("Plugin is not supported and will be disabled. At least any HDR RenderTexture format should be supported by your hardware.", MessageType.Warning);
}
public static void SelectiveWorkflowDeprecated()
{
EditorGUILayout.HelpBox("Selective Workflow will be deprecated in a future update, due to engine compatibility issues. Its highly recommend to use Threshold or Natural Workflow.", MessageType.Warning);
}
}
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 2d3d67405b01fff4fa80811e3a3f3e7e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/EditorHelper.EditorUIContent.cs
uploadId: 759966

View File

@ -0,0 +1,157 @@
//////////////////////////////////////////////////////
// MK Glow Editor Helper Main //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace MK.Glow.Editor
{
public static partial class EditorHelper
{
/// <summary>
/// Draw a default splitter
/// </summary>
public static void DrawSplitter()
{
var rect = GUILayoutUtility.GetRect(0f, 1f);
rect.xMin = 0f;
rect.width += 4f;
if(Event.current.type != EventType.Repaint)
return;
EditorGUI.DrawRect(rect, EditorStyles.splitter);
}
/// <summary>
/// Foldout for settings
/// </summary>
/// <param name="title"></param>
/// <param name="titleRight"></param>
/// <returns></returns>
private static Rect DrawFoldoutHeader(string title, string titleRight = "")
{
var gap = GUILayoutUtility.GetRect(0f, 0f);
gap.xMin = 0f;
gap.width += 4f;
EditorGUI.DrawRect(gap, Color.clear);
DrawSplitter();
var rect = GUILayoutUtility.GetRect(16f, 16f);
rect.xMin = 0f;
rect.width += 4f;
var lavelRect = new Rect(rect);
lavelRect.xMin += 22;
EditorGUI.DrawRect(rect, EditorStyles.headerBackground);
EditorGUI.LabelField(lavelRect, title, UnityEditor.EditorStyles.boldLabel);
EditorGUI.LabelField(lavelRect, titleRight, EditorStyles.rightAlignetLabel);
return rect;
}
/// <summary>
/// Creates a empty space with the height of 1
/// </summary>
public static void VerticalSpace()
{
GUILayoutUtility.GetRect(1f, EditorGUIUtility.standardVerticalSpacing);
}
/// <summary>
/// Draws a header
/// </summary>
/// <param name="text"></param>
public static void DrawHeader(string text)
{
EditorGUILayout.LabelField(text, UnityEditor.EditorStyles.boldLabel);
}
/// <summary>
/// Draw a clickable behavior including a checkbox for a feature
/// </summary>
/// <param name="obj"></param>
/// <param name="title"></param>
/// <param name="titleRight"></param>
/// <param name="behavior"></param>
/// <param name="feature"></param>
/// <returns></returns>
public static bool HandleBehavior(UnityEngine.Object obj, string title, string titleRight, SerializedProperty behavior, SerializedProperty feature)
{
Rect rect = DrawFoldoutHeader(title, titleRight);
var e = Event.current;
var foldoutRect = new Rect(EditorGUIUtility.currentViewWidth * 0.5f, rect.y, 13f, 13f);
if(behavior.hasMultipleDifferentValues)
{
foldoutRect.x -= 13;
}
//DrawSplitter();
if(feature != null)
{
EditorGUI.showMixedValue = feature.hasMultipleDifferentValues;
var toggleRect = new Rect(rect.x + 4f, rect.y + ((feature.hasMultipleDifferentValues) ? 0.0f : 2.0f), 13f, 13f);
bool fn = feature.boolValue;
EditorGUI.BeginChangeCheck();
fn = EditorGUI.Toggle(toggleRect, "", fn, EditorStyles.headerCheckbox);
if(EditorGUI.EndChangeCheck())
{
feature.boolValue = fn;
if(feature.boolValue)
Undo.RegisterCompleteObjectUndo(obj, feature.displayName + " enabled");
else
Undo.RegisterCompleteObjectUndo(obj, feature.displayName + " disabled");
}
EditorGUI.showMixedValue = false;
EditorGUI.showMixedValue = behavior.hasMultipleDifferentValues;
}
EditorGUI.BeginChangeCheck();
if(e.type == EventType.MouseDown)
{
if(rect.Contains(e.mousePosition))
{
if(behavior.hasMultipleDifferentValues)
behavior.boolValue = false;
else
behavior.boolValue = !behavior.boolValue;
e.Use();
}
}
if(EditorGUI.EndChangeCheck())
{
if(behavior.boolValue)
Undo.RegisterCompleteObjectUndo(obj, behavior.displayName + " Show");
else
Undo.RegisterCompleteObjectUndo(obj, behavior.displayName + " Hide");
}
EditorGUI.showMixedValue = false;
if(e.type == EventType.Repaint && behavior.hasMultipleDifferentValues)
UnityEditor.EditorStyles.radioButton.Draw(foldoutRect, "", false, false, true, false);
else
EditorGUI.Foldout(foldoutRect, behavior.boolValue, "");
if(behavior.hasMultipleDifferentValues)
return true;
else
return behavior.boolValue;
}
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: af43dbed09e512049bef645f2d379cb2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/EditorHelper.cs
uploadId: 759966

View File

@ -0,0 +1,248 @@
//////////////////////////////////////////////////////
// MK Install Wizard Base //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2021 All rights reserved. //
//////////////////////////////////////////////////////
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
#if UNITY_EDITOR
using Configuration = MK.Glow.Editor.InstallWizard.Configuration;
namespace MK.Glow.Editor.InstallWizard
{
public sealed class InstallWizard : EditorWindow
{
#pragma warning disable CS0414
private static readonly string _version = "4.9.2";
#pragma warning restore CS0414
private static readonly Vector2Int _referenceResolution = new Vector2Int(2560, 1440);
private static float _sizeScale;
private static int _scaledWidth;
private static int _scaledHeight;
private static Vector2 _windowScrollPos;
private static readonly int _rawWidth = 360;
private static readonly int _rawHeight = 640;
private static readonly string _title = "MK Glow Install Wizard";
private GUIStyle _flowTextStyle { get { return new GUIStyle(EditorStyles.label) { wordWrap = true }; } }
private static readonly int _loadTimeInFrames = 72;
private static int _waitFramesTillReload = _loadTimeInFrames;
private static InstallWizard _window;
private static RenderPipeline _targetRenderPipeline = RenderPipeline.Built_in_PostProcessingStack;
private static bool _showInstallerOnReload = true;
[MenuItem("Window/MK/Glow/Install Wizard")]
private static void ShowWindow()
{
if(Screen.currentResolution.height > Screen.currentResolution.width)
_sizeScale = (float) Screen.currentResolution.width / (float)_referenceResolution.x;
else
_sizeScale = (float) Screen.currentResolution.height / (float)_referenceResolution.y;
_scaledWidth = (int)((float)_rawWidth * _sizeScale);
_scaledHeight = (int)((float)_rawHeight * _sizeScale);
_window = (InstallWizard) EditorWindow.GetWindow<InstallWizard>(true, _title, true);
_window.minSize = new Vector2(_scaledWidth, _scaledHeight);
_window.maxSize = new Vector2(_scaledWidth * 2, _scaledHeight * 2);
_window.Show();
}
[InitializeOnLoadMethod]
private static void ShowInstallerOnReload()
{
QueryReload();
}
private static void QueryReload()
{
_waitFramesTillReload = _loadTimeInFrames;
EditorApplication.update += Reload;
}
private static void Reload()
{
if (_waitFramesTillReload > 0)
{
--_waitFramesTillReload;
}
else
{
EditorApplication.update -= Reload;
if(Configuration.isReady && Configuration.TryGetShowInstallerOnReload())
ShowWindow();
}
}
private void OnGUI()
{
if(Configuration.isReady)
{
_windowScrollPos = EditorGUILayout.BeginScrollView(_windowScrollPos);
Texture2D titleImage = Configuration.TryGetTitleImage();
if(titleImage)
{
float titleScaledWidth = EditorGUIUtility.currentViewWidth - EditorGUIUtility.standardVerticalSpacing * 4;
float titleScaledHeight = titleScaledWidth * ((float)titleImage.height / (float)titleImage.width);
Rect titleRect = EditorGUILayout.GetControlRect();
titleRect.width = titleScaledWidth;
titleRect.height = titleScaledHeight;
GUI.DrawTexture(titleRect, titleImage, ScaleMode.ScaleToFit);
GUILayout.Label("", GUILayout.Height(titleScaledHeight - 20));
Divider();
}
EditorGUILayout.LabelField("1. Select your Render Pipeline setup", UnityEditor.EditorStyles.boldLabel);
_targetRenderPipeline = Configuration.TryGetRenderPipeline();
EditorGUI.BeginChangeCheck();
_targetRenderPipeline = (RenderPipeline) EditorGUILayout.EnumPopup("Render Pipeline Setup", _targetRenderPipeline);
if(EditorGUI.EndChangeCheck())
Configuration.TrySetRenderPipeline(_targetRenderPipeline);
VerticalSpace();
Divider();
VerticalSpace();
EditorGUILayout.LabelField("2. Import Package", UnityEditor.EditorStyles.boldLabel);
if(GUILayout.Button("Import / Update Package"))
{
EditorUtility.DisplayProgressBar("MK Toon Install Wizard", "Importing Package", 0.5f);
Configuration.ImportShaders(_targetRenderPipeline);
EditorUtility.ClearProgressBar();
}
switch(_targetRenderPipeline)
{
case RenderPipeline.Built_in_Legacy:
EditorGUILayout.LabelField("Attach the MK Glow component to your rendering camera.", _flowTextStyle);
break;
case RenderPipeline.Built_in_PostProcessingStack:
EditorGUILayout.LabelField("1. Make sure the Post Processing Stack is installed. It can be installed via the Package Manager (Window -> Package Manager)", _flowTextStyle);
EditorGUILayout.LabelField("2. On your Post Processing Stack Profile add the “MK/MKGlow” component.", _flowTextStyle);
break;
//case RenderPipeline.Lightweight:
//EditorGUILayout.LabelField("On your Post Processing Stack V2 Profile add the “MK/MKGlow” component.", _flowTextStyle);
//break;
case RenderPipeline.Universal3D:
#if UNITY_2021_2_OR_NEWER
case RenderPipeline.Universal2D:
#endif
EditorGUILayout.LabelField("1. On your Universal Render Pipeline Renderer Asset add the custom Renderer Feature: MK Glow Renderer Feature.", _flowTextStyle);
EditorGUILayout.LabelField(@"2. On your Volume Profile add MK Glow via “Post-processing/MK/MKGlow” (optional).", _flowTextStyle);
break;
case RenderPipeline.High_Definition:
EditorGUILayout.LabelField("1. Add MKGlow to your custom post processing under HDRP Default/Global Settings on the “Before Post Process” List. Navigate to it via: Edit > Project Settings > HDRP Default/Global Settings.", _flowTextStyle);
EditorGUILayout.LabelField(@"2. On your Volume Profile add MK Glow via “Post-processing/MK/MKGlow”", _flowTextStyle);
break;
}
VerticalSpace();
Divider();
VerticalSpace();
int readMeNumber = 4;
/*
if(_targetRenderPipeline == RenderPipeline.Lightweight)
{
readMeNumber = 3;
EditorGUILayout.LabelField("3. Examples are not available for the Lightweight Render Pipeline.", _flowTextStyle);
VerticalSpace();
Divider();
}
else
*/
{
EditorGUILayout.LabelField("3. Import Examples (optional)", UnityEditor.EditorStyles.boldLabel);
EditorGUILayout.LabelField("Example Scenes are based on Linear Color Space and HDR. Make sure to change from Gamma to Linear Color Space and enable HDR.", _flowTextStyle);
switch(_targetRenderPipeline)
{
case RenderPipeline.Built_in_Legacy:
case RenderPipeline.Built_in_PostProcessingStack:
break;
//case RenderPipeline.Lightweight:
//break;
case RenderPipeline.Universal3D:
#if UNITY_2021_2_OR_NEWER
case RenderPipeline.Universal2D:
#endif
EditorGUILayout.LabelField("Example Scenes using the Post Process Volumes Workmode on the MK Glow Renderer Feature.", _flowTextStyle);
break;
case RenderPipeline.High_Definition:
break;
}
EditorGUILayout.LabelField("Old Input Manager is used for the examples.", _flowTextStyle);
if(GUILayout.Button("Import Examples"))
{
EditorUtility.DisplayProgressBar("MK Toon Install Wizard", "Importing Examples", 0.5f);
Configuration.ImportExamples(_targetRenderPipeline);
EditorUtility.ClearProgressBar();
}
VerticalSpace();
Divider();
ExampleContainer[] examples = Configuration.TryGetExamples();
bool anyExamplesAvailable = false;
for(int i = 0; i < examples.Length; i++)
{
if(examples[i].scene != null)
{
anyExamplesAvailable = true;
break;
}
}
if(examples.Length > 0 && anyExamplesAvailable)
{
VerticalSpace();
EditorGUILayout.LabelField("Example Scenes:");
EditorGUILayout.BeginHorizontal();
for(int i = 0; i < examples.Length; i++)
{
if(examples[i].scene != null)
examples[i].DrawEditorButton();
}
EditorGUILayout.EndHorizontal();
VerticalSpace();
Divider();
}
}
VerticalSpace();
EditorGUILayout.LabelField(readMeNumber.ToString() + ". Read Me (Recommended)", UnityEditor.EditorStyles.boldLabel);
if(GUILayout.Button("Open Read Me"))
{
Configuration.OpenReadMe();
}
VerticalSpace();
Divider();
VerticalSpace();
_showInstallerOnReload = Configuration.TryGetShowInstallerOnReload();
EditorGUI.BeginChangeCheck();
_showInstallerOnReload = EditorGUILayout.Toggle("Show Installer On Reload", _showInstallerOnReload);
if(EditorGUI.EndChangeCheck())
Configuration.TrySetShowInstallerOnReload(_showInstallerOnReload);
EditorGUILayout.EndScrollView();
GUI.FocusControl(null);
}
else
{
Repaint();
}
}
private static void VerticalSpace()
{
GUILayoutUtility.GetRect(1f, EditorGUIUtility.standardVerticalSpacing);
}
private static void Divider()
{
GUILayout.Box("", new GUILayoutOption[] { GUILayout.ExpandWidth(true), GUILayout.Height(2) });
}
}
}
#endif

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: c19e3d2fe3c215e4e9c490916b2832c3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/InstallWizard.cs
uploadId: 759966

View File

@ -0,0 +1,18 @@
{
"name": "MK.Glow.Editor",
"rootNamespace": "",
"references": [
"GUID:cb19445e095596046a336416b28b0cc9"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: bf0220fd1bb918740b112a52cefae584
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/MK.Glow.Editor.asmdef
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Editor/MKGlowCardImage.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,95 @@
fileFormatVersion: 2
guid: 4f6068e89df94c2438a76e04d4414901
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 34b45bd3cbb1d324abdc15115acf9643
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/MKGlowCardImage.png
uploadId: 759966

View File

@ -0,0 +1,447 @@
//////////////////////////////////////////////////////
// MK Glow Selective Standard Shader GUI //
// //
// Created by Michael Kremmel //
// www.michaelkremmel.de //
// Copyright © 2017 All rights reserved. //
//////////////////////////////////////////////////////
/// This file is closely based on file the default unity standard shader gui
using System;
using UnityEngine;
using UnityEditor;
namespace MK.Glow.Legacy.Editor
{
internal class SelectiveStandardShaderGUI : ShaderGUI
{
#if UNITY_2018_1_OR_NEWER
#else
ColorPickerHDRConfig m_ColorPickerHDRConfig = new ColorPickerHDRConfig(0f, 99f, 1 / 99f, 3f);
#endif
private enum WorkflowMode
{
Specular,
Metallic,
Dielectric
}
public enum BlendMode
{
Opaque,
Cutout,
Fade, // Old school alpha-blending mode, fresnel does not affect amount of transparency
Transparent // Physically plausible transparency mode, implemented as alpha pre-multiply
}
public enum SmoothnessMapChannel
{
SpecularMetallicAlpha,
AlbedoAlpha,
}
private static class Styles
{
public static GUIContent uvSetLabel = new GUIContent("UV Set");
public static GUIContent albedoText = new GUIContent("Albedo", "Albedo (RGB) and Transparency (A)");
public static GUIContent alphaCutoffText = new GUIContent("Alpha Cutoff", "Threshold for alpha cutoff");
public static GUIContent specularMapText = new GUIContent("Specular", "Specular (RGB) and Smoothness (A)");
public static GUIContent metallicMapText = new GUIContent("Metallic", "Metallic (R) and Smoothness (A)");
public static GUIContent smoothnessText = new GUIContent("Smoothness", "Smoothness value");
public static GUIContent smoothnessScaleText = new GUIContent("Smoothness", "Smoothness scale factor");
public static GUIContent smoothnessMapChannelText = new GUIContent("Source", "Smoothness texture and channel");
public static GUIContent highlightsText = new GUIContent("Specular Highlights", "Specular Highlights");
public static GUIContent reflectionsText = new GUIContent("Reflections", "Glossy Reflections");
public static GUIContent normalMapText = new GUIContent("Normal Map", "Normal Map");
public static GUIContent heightMapText = new GUIContent("Height Map", "Height Map (G)");
public static GUIContent occlusionText = new GUIContent("Occlusion", "Occlusion (G)");
public static GUIContent emissionText = new GUIContent("Color", "Emission (RGB)");
public static GUIContent detailMaskText = new GUIContent("Detail Mask", "Mask for Secondary Maps (A)");
public static GUIContent detailAlbedoText = new GUIContent("Detail Albedo x2", "Albedo (RGB) multiplied by 2");
public static GUIContent detailNormalMapText = new GUIContent("Normal Map", "Normal Map");
public static string primaryMapsText = "Main Maps";
public static string secondaryMapsText = "Secondary Maps";
public static string forwardText = "Forward Rendering Options";
public static string renderingMode = "Rendering Mode";
public static string advancedText = "Advanced Options";
public static readonly string[] blendNames = Enum.GetNames(typeof(BlendMode));
}
MaterialProperty blendMode = null;
MaterialProperty albedoMap = null;
MaterialProperty albedoColor = null;
MaterialProperty alphaCutoff = null;
MaterialProperty specularMap = null;
MaterialProperty specularColor = null;
MaterialProperty metallicMap = null;
MaterialProperty metallic = null;
MaterialProperty smoothness = null;
MaterialProperty smoothnessScale = null;
MaterialProperty smoothnessMapChannel = null;
MaterialProperty highlights = null;
MaterialProperty reflections = null;
MaterialProperty bumpScale = null;
MaterialProperty bumpMap = null;
MaterialProperty occlusionStrength = null;
MaterialProperty occlusionMap = null;
MaterialProperty heigtMapScale = null;
MaterialProperty heightMap = null;
MaterialProperty emissionColorForRendering = null;
MaterialProperty emissionMap = null;
MaterialProperty detailMask = null;
MaterialProperty detailAlbedoMap = null;
MaterialProperty detailNormalMapScale = null;
MaterialProperty detailNormalMap = null;
MaterialProperty uvSetSecondary = null;
MaterialEditor m_MaterialEditor;
WorkflowMode m_WorkflowMode = WorkflowMode.Specular;
bool m_FirstTimeApply = true;
public void FindProperties(MaterialProperty[] props)
{
blendMode = FindProperty("_Mode", props);
albedoMap = FindProperty("_MainTex", props);
albedoColor = FindProperty("_Color", props);
alphaCutoff = FindProperty("_Cutoff", props);
specularMap = FindProperty("_SpecGlossMap", props, false);
specularColor = FindProperty("_SpecColor", props, false);
metallicMap = FindProperty("_MetallicGlossMap", props, false);
metallic = FindProperty("_Metallic", props, false);
if (specularMap != null && specularColor != null)
m_WorkflowMode = WorkflowMode.Specular;
else if (metallicMap != null && metallic != null)
m_WorkflowMode = WorkflowMode.Metallic;
else
m_WorkflowMode = WorkflowMode.Dielectric;
smoothness = FindProperty("_Glossiness", props);
smoothnessScale = FindProperty("_GlossMapScale", props, false);
smoothnessMapChannel = FindProperty("_SmoothnessTextureChannel", props, false);
highlights = FindProperty("_SpecularHighlights", props, false);
reflections = FindProperty("_GlossyReflections", props, false);
bumpScale = FindProperty("_BumpScale", props);
bumpMap = FindProperty("_BumpMap", props);
heigtMapScale = FindProperty("_Parallax", props);
heightMap = FindProperty("_ParallaxMap", props);
occlusionStrength = FindProperty("_OcclusionStrength", props);
occlusionMap = FindProperty("_OcclusionMap", props);
emissionColorForRendering = FindProperty("_EmissionColor", props);
emissionMap = FindProperty("_EmissionMap", props);
detailMask = FindProperty("_DetailMask", props);
detailAlbedoMap = FindProperty("_DetailAlbedoMap", props);
detailNormalMapScale = FindProperty("_DetailNormalMapScale", props);
detailNormalMap = FindProperty("_DetailNormalMap", props);
uvSetSecondary = FindProperty("_UVSec", props);
}
public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] props)
{
FindProperties(props); // MaterialProperties can be animated so we do not cache them but fetch them every event to ensure animated values are updated correctly
m_MaterialEditor = materialEditor;
Material material = materialEditor.target as Material;
// Make sure that needed setup (ie keywords/renderqueue) are set up if we're switching some existing
// material to a standard shader.
// Do this before any GUI code has been issued to prevent layout issues in subsequent GUILayout statements (case 780071)
if (m_FirstTimeApply)
{
MaterialChanged(material, m_WorkflowMode);
m_FirstTimeApply = false;
}
ShaderPropertiesGUI(material);
}
public void ShaderPropertiesGUI(Material material)
{
// Use default labelWidth
EditorGUIUtility.labelWidth = 0f;
// Detect any changes to the material
EditorGUI.BeginChangeCheck();
{
BlendModePopup();
// Primary properties
GUILayout.Label(Styles.primaryMapsText, EditorStyles.boldLabel);
DoAlbedoArea(material);
DoSpecularMetallicArea();
DoNormalArea();
m_MaterialEditor.TexturePropertySingleLine(Styles.heightMapText, heightMap, heightMap.textureValue != null ? heigtMapScale : null);
m_MaterialEditor.TexturePropertySingleLine(Styles.occlusionText, occlusionMap, occlusionMap.textureValue != null ? occlusionStrength : null);
m_MaterialEditor.TexturePropertySingleLine(Styles.detailMaskText, detailMask);
DoEmissionArea(material);
EditorGUI.BeginChangeCheck();
m_MaterialEditor.TextureScaleOffsetProperty(albedoMap);
if (EditorGUI.EndChangeCheck())
emissionMap.textureScaleAndOffset = albedoMap.textureScaleAndOffset; // Apply the main texture scale and offset to the emission texture as well, for Enlighten's sake
EditorGUILayout.Space();
// Secondary properties
GUILayout.Label(Styles.secondaryMapsText, EditorStyles.boldLabel);
m_MaterialEditor.TexturePropertySingleLine(Styles.detailAlbedoText, detailAlbedoMap);
m_MaterialEditor.TexturePropertySingleLine(Styles.detailNormalMapText, detailNormalMap, detailNormalMapScale);
m_MaterialEditor.TextureScaleOffsetProperty(detailAlbedoMap);
m_MaterialEditor.ShaderProperty(uvSetSecondary, Styles.uvSetLabel.text);
// Third properties
GUILayout.Label(Styles.forwardText, EditorStyles.boldLabel);
if (highlights != null)
m_MaterialEditor.ShaderProperty(highlights, Styles.highlightsText);
if (reflections != null)
m_MaterialEditor.ShaderProperty(reflections, Styles.reflectionsText);
}
if (EditorGUI.EndChangeCheck())
{
foreach (var obj in blendMode.targets)
MaterialChanged((Material)obj, m_WorkflowMode);
}
EditorGUILayout.Space();
// NB renderqueue editor is not shown on purpose: we want to override it based on blend mode
GUILayout.Label(Styles.advancedText, EditorStyles.boldLabel);
m_MaterialEditor.EnableInstancingField();
#if UNITY_2017_1_OR_NEWER
m_MaterialEditor.DoubleSidedGIField();
#endif
}
internal void DetermineWorkflow(MaterialProperty[] props)
{
if (FindProperty("_SpecGlossMap", props, false) != null && FindProperty("_SpecColor", props, false) != null)
m_WorkflowMode = WorkflowMode.Specular;
else if (FindProperty("_MetallicGlossMap", props, false) != null && FindProperty("_Metallic", props, false) != null)
m_WorkflowMode = WorkflowMode.Metallic;
else
m_WorkflowMode = WorkflowMode.Dielectric;
}
public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader)
{
// _Emission property is lost after assigning Standard shader to the material
// thus transfer it before assigning the new shader
if (material.HasProperty("_Emission"))
{
material.SetColor("_EmissionColor", material.GetColor("_Emission"));
}
base.AssignNewShaderToMaterial(material, oldShader, newShader);
if (oldShader == null || !oldShader.name.Contains("Legacy Shaders/"))
{
SetupMaterialWithBlendMode(material, (BlendMode)material.GetFloat("_Mode"));
return;
}
BlendMode blendMode = BlendMode.Opaque;
if (oldShader.name.Contains("/Transparent/Cutout/"))
{
blendMode = BlendMode.Cutout;
}
else if (oldShader.name.Contains("/Transparent/"))
{
// NOTE: legacy shaders did not provide physically based transparency
// therefore Fade mode
blendMode = BlendMode.Fade;
}
material.SetFloat("_Mode", (float)blendMode);
DetermineWorkflow(MaterialEditor.GetMaterialProperties(new Material[] { material }));
MaterialChanged(material, m_WorkflowMode);
}
void BlendModePopup()
{
EditorGUI.showMixedValue = blendMode.hasMixedValue;
var mode = (BlendMode)blendMode.floatValue;
EditorGUI.BeginChangeCheck();
mode = (BlendMode)EditorGUILayout.Popup(Styles.renderingMode, (int)mode, Styles.blendNames);
if (EditorGUI.EndChangeCheck())
{
m_MaterialEditor.RegisterPropertyChangeUndo("Rendering Mode");
blendMode.floatValue = (float)mode;
}
EditorGUI.showMixedValue = false;
}
void DoNormalArea()
{
m_MaterialEditor.TexturePropertySingleLine(Styles.normalMapText, bumpMap, bumpMap.textureValue != null ? bumpScale : null);
#if UNITY_2018_1_OR_NEWER
if (bumpScale.floatValue != 1 && UnityEditorInternal.InternalEditorUtility.IsMobilePlatform(EditorUserBuildSettings.activeBuildTarget))
if (m_MaterialEditor.HelpBoxWithButton(
new GUIContent("Bump scale is not supported on mobile platforms"),
new GUIContent("Fix Now")))
{
bumpScale.floatValue = 1;
}
#endif
}
void DoAlbedoArea(Material material)
{
m_MaterialEditor.TexturePropertySingleLine(Styles.albedoText, albedoMap, albedoColor);
if (((BlendMode)material.GetFloat("_Mode") == BlendMode.Cutout))
{
m_MaterialEditor.ShaderProperty(alphaCutoff, Styles.alphaCutoffText.text, MaterialEditor.kMiniTextureFieldLabelIndentLevel + 1);
}
}
void DoEmissionArea(Material material)
{
// Emission for GI?
if (m_MaterialEditor.EmissionEnabledProperty())
{
bool hadEmissionTexture = emissionMap.textureValue != null;
// Texture and HDR color controls
#if UNITY_2018_1_OR_NEWER
m_MaterialEditor.TexturePropertyWithHDRColor(Styles.emissionText, emissionMap, emissionColorForRendering, false);
#else
m_MaterialEditor.TexturePropertyWithHDRColor(Styles.emissionText, emissionMap, emissionColorForRendering, m_ColorPickerHDRConfig, false);
#endif
// If texture was assigned and color was black set color to white
float brightness = emissionColorForRendering.colorValue.maxColorComponent;
if (emissionMap.textureValue != null && !hadEmissionTexture && brightness <= 0f)
emissionColorForRendering.colorValue = Color.white;
// change the GI flag and fix it up with emissive as black if necessary
m_MaterialEditor.LightmapEmissionFlagsProperty(MaterialEditor.kMiniTextureFieldLabelIndentLevel, true);
}
}
void DoSpecularMetallicArea()
{
bool hasGlossMap = false;
if (m_WorkflowMode == WorkflowMode.Specular)
{
hasGlossMap = specularMap.textureValue != null;
m_MaterialEditor.TexturePropertySingleLine(Styles.specularMapText, specularMap, hasGlossMap ? null : specularColor);
}
else if (m_WorkflowMode == WorkflowMode.Metallic)
{
hasGlossMap = metallicMap.textureValue != null;
m_MaterialEditor.TexturePropertySingleLine(Styles.metallicMapText, metallicMap, hasGlossMap ? null : metallic);
}
bool showSmoothnessScale = hasGlossMap;
if (smoothnessMapChannel != null)
{
int smoothnessChannel = (int)smoothnessMapChannel.floatValue;
if (smoothnessChannel == (int)SmoothnessMapChannel.AlbedoAlpha)
showSmoothnessScale = true;
}
int indentation = 2; // align with labels of texture properties
m_MaterialEditor.ShaderProperty(showSmoothnessScale ? smoothnessScale : smoothness, showSmoothnessScale ? Styles.smoothnessScaleText : Styles.smoothnessText, indentation);
++indentation;
if (smoothnessMapChannel != null)
m_MaterialEditor.ShaderProperty(smoothnessMapChannel, Styles.smoothnessMapChannelText, indentation);
}
public static void SetupMaterialWithBlendMode(Material material, BlendMode blendMode)
{
switch (blendMode)
{
case BlendMode.Opaque:
material.SetOverrideTag("RenderType", "MKGlow");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
material.SetInt("_ZWrite", 1);
material.DisableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = -1;
break;
case BlendMode.Cutout:
material.SetOverrideTag("RenderType", "MKGlow");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero);
material.SetInt("_ZWrite", 1);
material.EnableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.AlphaTest;
break;
case BlendMode.Fade:
material.SetOverrideTag("RenderType", "MKGlow");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
material.SetInt("_ZWrite", 0);
material.DisableKeyword("_ALPHATEST_ON");
material.EnableKeyword("_ALPHABLEND_ON");
material.DisableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
break;
case BlendMode.Transparent:
material.SetOverrideTag("RenderType", "MKGlow");
material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One);
material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
material.SetInt("_ZWrite", 0);
material.DisableKeyword("_ALPHATEST_ON");
material.DisableKeyword("_ALPHABLEND_ON");
material.EnableKeyword("_ALPHAPREMULTIPLY_ON");
material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent;
break;
}
}
static SmoothnessMapChannel GetSmoothnessMapChannel(Material material)
{
int ch = (int)material.GetFloat("_SmoothnessTextureChannel");
if (ch == (int)SmoothnessMapChannel.AlbedoAlpha)
return SmoothnessMapChannel.AlbedoAlpha;
else
return SmoothnessMapChannel.SpecularMetallicAlpha;
}
static void SetMaterialKeywords(Material material, WorkflowMode workflowMode)
{
// Note: keywords must be based on Material value not on MaterialProperty due to multi-edit & material animation
// (MaterialProperty value might come from renderer material property block)
SetKeyword(material, "_NORMALMAP", material.GetTexture("_BumpMap") || material.GetTexture("_DetailNormalMap"));
if (workflowMode == WorkflowMode.Specular)
SetKeyword(material, "_SPECGLOSSMAP", material.GetTexture("_SpecGlossMap"));
else if (workflowMode == WorkflowMode.Metallic)
SetKeyword(material, "_METALLICGLOSSMAP", material.GetTexture("_MetallicGlossMap"));
SetKeyword(material, "_PARALLAXMAP", material.GetTexture("_ParallaxMap"));
SetKeyword(material, "_DETAIL_MULX2", material.GetTexture("_DetailAlbedoMap") || material.GetTexture("_DetailNormalMap"));
// A material's GI flag internally keeps track of whether emission is enabled at all, it's enabled but has no effect
// or is enabled and may be modified at runtime. This state depends on the values of the current flag and emissive color.
// The fixup routine makes sure that the material is in the correct state if/when changes are made to the mode or color.
MaterialEditor.FixupEmissiveFlag(material);
bool shouldEmissionBeEnabled = (material.globalIlluminationFlags & MaterialGlobalIlluminationFlags.EmissiveIsBlack) == 0;
SetKeyword(material, "_EMISSION", shouldEmissionBeEnabled);
if (material.HasProperty("_SmoothnessTextureChannel"))
{
SetKeyword(material, "_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", GetSmoothnessMapChannel(material) == SmoothnessMapChannel.AlbedoAlpha);
}
}
static void MaterialChanged(Material material, WorkflowMode workflowMode)
{
SetupMaterialWithBlendMode(material, (BlendMode)material.GetFloat("_Mode"));
SetMaterialKeywords(material, workflowMode);
}
static void SetKeyword(Material m, string keyword, bool state)
{
if (state)
m.EnableKeyword(keyword);
else
m.DisableKeyword(keyword);
}
}
} // namespace UnityEditor

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 6aefc503b7fa63d4c8d3ce72322787df
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Editor/SelectiveStandardShaderGUI.cs
uploadId: 759966

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 301af45ac623a4341916b7bb4ac402a3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/External/MK/MKGlow/Examples/Examples.unity (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: e09a1e393e02fe24aa81e2a6f8d6d9a4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Examples/Examples.unity
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Examples/ExamplesBuiltinLegacy.unitypackage (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
fileFormatVersion: 2
guid: 78a57d59fe99bfd4eb293e6d1d1c06c7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 90204
packageName: MK Glow - Bloom & Lens & Glare
packageVersion: 4.9.2
assetPath: Assets/MK/MKGlow/Examples/ExamplesBuiltinLegacy.unitypackage
uploadId: 759966

BIN
Assets/External/MK/MKGlow/Examples/ExamplesHDRP.unitypackage (Stored with Git LFS) vendored Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More