chore: add MarrowSDK plugin
Signed-off-by: Jo <johannesreckers2006@gmail.com>
This commit is contained in:
parent
64de674738
commit
5eb961ae8a
119 changed files with 40706 additions and 0 deletions
8
Assets/AddressableAssetsData.meta
Normal file
8
Assets/AddressableAssetsData.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ddd48b4097b0b2b4a9e2624e21715d1a
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
182
Assets/AddressableAssetsData/AddressableAssetSettings.asset
Normal file
182
Assets/AddressableAssetsData/AddressableAssetSettings.asset
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3}
|
||||||
|
m_Name: AddressableAssetSettings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_DefaultGroup: 4d882dacb0cf54c449d94345cde2d533
|
||||||
|
m_currentHash:
|
||||||
|
serializedVersion: 2
|
||||||
|
Hash: 00000000000000000000000000000000
|
||||||
|
m_OptimizeCatalogSize: 0
|
||||||
|
m_BuildRemoteCatalog: 0
|
||||||
|
m_BundleLocalCatalog: 0
|
||||||
|
m_CatalogRequestsTimeout: 0
|
||||||
|
m_DisableCatalogUpdateOnStart: 0
|
||||||
|
m_IgnoreUnsupportedFilesInBuild: 1
|
||||||
|
m_UniqueBundleIds: 0
|
||||||
|
m_NonRecursiveBuilding: 1
|
||||||
|
m_CCDEnabled: 0
|
||||||
|
m_maxConcurrentWebRequests: 3
|
||||||
|
m_ContiguousBundles: 1
|
||||||
|
m_StripUnityVersionFromBundleBuild: 0
|
||||||
|
m_DisableVisibleSubAssetRepresentations: 0
|
||||||
|
m_ShaderBundleNaming: 2
|
||||||
|
m_ShaderBundleCustomNaming: PALLET_NAME_HERE
|
||||||
|
m_MonoScriptBundleNaming: 3
|
||||||
|
m_CheckForContentUpdateRestrictionsOption: 0
|
||||||
|
m_MonoScriptBundleCustomNaming: MARROW
|
||||||
|
m_RemoteCatalogBuildPath:
|
||||||
|
m_Id: f03d2a55457fa6e4f8d499c42217628e
|
||||||
|
m_RemoteCatalogLoadPath:
|
||||||
|
m_Id: c379e54b5a3413b4e95ede99b7df5856
|
||||||
|
m_ContentStateBuildPathProfileVariableName: <default settings path>
|
||||||
|
m_CustomContentStateBuildPath:
|
||||||
|
m_ContentStateBuildPath:
|
||||||
|
m_BuildAddressablesWithPlayerBuild: 2
|
||||||
|
m_overridePlayerVersion:
|
||||||
|
m_GroupAssets:
|
||||||
|
- {fileID: 11400000, guid: 8b5ee8ae1bae6794692e05c65f209650, type: 2}
|
||||||
|
m_BuildSettings:
|
||||||
|
m_CompileScriptsInVirtualMode: 0
|
||||||
|
m_CleanupStreamingAssetsAfterBuilds: 1
|
||||||
|
m_LogResourceManagerExceptions: 1
|
||||||
|
m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles
|
||||||
|
m_ProfileSettings:
|
||||||
|
m_Profiles:
|
||||||
|
- m_InheritedParent:
|
||||||
|
m_Id: 2056c22079b11ce478d338f3f85afa99
|
||||||
|
m_ProfileName: Default
|
||||||
|
m_Values:
|
||||||
|
- m_Id: 4b5be2a9894728a48b3be114e9cab1d3
|
||||||
|
m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]'
|
||||||
|
- m_Id: cd46b6cc1cd9bb3468de6ffa0c95ecc0
|
||||||
|
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||||
|
- m_Id: f61512461f3fbb64bb882a6af52b8090
|
||||||
|
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||||
|
- m_Id: f03d2a55457fa6e4f8d499c42217628e
|
||||||
|
m_Value: ServerData/[BuildTarget]
|
||||||
|
- m_Id: c379e54b5a3413b4e95ede99b7df5856
|
||||||
|
m_Value: http://[PrivateIpAddress]:[HostingServicePort]
|
||||||
|
- m_Id: a55fd1d1cc0e2c54f8fc99fd45a015b6
|
||||||
|
m_Value: ~PALLETBARCODE~
|
||||||
|
- m_Id: ba16486fe6f55fd4fbf595bcaa8301dc
|
||||||
|
m_Value: 'PALLET_BARCODE:[PalletBarcode]:'
|
||||||
|
- m_Id: 8f6c7444a8c35a84aa1f5afd15b7b68c
|
||||||
|
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||||
|
- m_Id: f8725ba8ca4660e4a9c94c64ccb97536
|
||||||
|
m_Value: '[SLZ.Marrow.MarrowSDK.BUILT_PALLETS_NAME]'
|
||||||
|
- m_Id: f97bbac1d358e3b47a31bd05dd60fd33
|
||||||
|
m_Value: '[PalletBuildPath]/[UnityEditor.EditorUserBuildSettings.activeBuildTarget]/[PalletBarcode]'
|
||||||
|
- m_Id: d936b3f7b661e3b4eac88aca85467faa
|
||||||
|
m_Value: '[PalletLoadPath]'
|
||||||
|
- m_Id: 2023158ce820b5e46b6902e85fc5ddda
|
||||||
|
m_Value: '[GameBuildPath]'
|
||||||
|
- m_Id: 641fa520f0cf9104eb3a4973a1e9aea2
|
||||||
|
m_Value: '[PalletLoadPath]'
|
||||||
|
- m_InheritedParent:
|
||||||
|
m_Id: fbad295727b3dec49ba750485b9465e7
|
||||||
|
m_ProfileName: Pallets
|
||||||
|
m_Values:
|
||||||
|
- m_Id: 4b5be2a9894728a48b3be114e9cab1d3
|
||||||
|
m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]'
|
||||||
|
- m_Id: cd46b6cc1cd9bb3468de6ffa0c95ecc0
|
||||||
|
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||||
|
- m_Id: f61512461f3fbb64bb882a6af52b8090
|
||||||
|
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||||
|
- m_Id: f03d2a55457fa6e4f8d499c42217628e
|
||||||
|
m_Value: ServerData/[BuildTarget]
|
||||||
|
- m_Id: c379e54b5a3413b4e95ede99b7df5856
|
||||||
|
m_Value: http://[PrivateIpAddress]:[HostingServicePort]
|
||||||
|
- m_Id: a55fd1d1cc0e2c54f8fc99fd45a015b6
|
||||||
|
m_Value: ~PALLETBARCODE~
|
||||||
|
- m_Id: ba16486fe6f55fd4fbf595bcaa8301dc
|
||||||
|
m_Value: 'PALLET_BARCODE:[PalletBarcode]:'
|
||||||
|
- m_Id: 8f6c7444a8c35a84aa1f5afd15b7b68c
|
||||||
|
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||||
|
- m_Id: f8725ba8ca4660e4a9c94c64ccb97536
|
||||||
|
m_Value: '[SLZ.Marrow.MarrowSDK.BUILT_PALLETS_NAME]'
|
||||||
|
- m_Id: f97bbac1d358e3b47a31bd05dd60fd33
|
||||||
|
m_Value: '[PalletBuildPath]/[UnityEditor.EditorUserBuildSettings.activeBuildTarget]/[PalletBarcode]'
|
||||||
|
- m_Id: d936b3f7b661e3b4eac88aca85467faa
|
||||||
|
m_Value: '[PalletLoadPath]'
|
||||||
|
- m_Id: 2023158ce820b5e46b6902e85fc5ddda
|
||||||
|
m_Value: '[GameBuildPath]'
|
||||||
|
- m_Id: 641fa520f0cf9104eb3a4973a1e9aea2
|
||||||
|
m_Value: '[PalletLoadPath]'
|
||||||
|
m_ProfileEntryNames:
|
||||||
|
- m_Id: 4b5be2a9894728a48b3be114e9cab1d3
|
||||||
|
m_Name: BuildTarget
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: cd46b6cc1cd9bb3468de6ffa0c95ecc0
|
||||||
|
m_Name: Local.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: f61512461f3fbb64bb882a6af52b8090
|
||||||
|
m_Name: Local.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: f03d2a55457fa6e4f8d499c42217628e
|
||||||
|
m_Name: Remote.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: c379e54b5a3413b4e95ede99b7df5856
|
||||||
|
m_Name: Remote.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: a55fd1d1cc0e2c54f8fc99fd45a015b6
|
||||||
|
m_Name: PalletBarcode
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: ba16486fe6f55fd4fbf595bcaa8301dc
|
||||||
|
m_Name: PalletLoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 8f6c7444a8c35a84aa1f5afd15b7b68c
|
||||||
|
m_Name: GameBuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: f8725ba8ca4660e4a9c94c64ccb97536
|
||||||
|
m_Name: PalletBuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: f97bbac1d358e3b47a31bd05dd60fd33
|
||||||
|
m_Name: Pallet.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: d936b3f7b661e3b4eac88aca85467faa
|
||||||
|
m_Name: Pallet.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 2023158ce820b5e46b6902e85fc5ddda
|
||||||
|
m_Name: Game Pallet.BuildPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
- m_Id: 641fa520f0cf9104eb3a4973a1e9aea2
|
||||||
|
m_Name: Game Pallet.LoadPath
|
||||||
|
m_InlineUsage: 0
|
||||||
|
m_ProfileVersion: 1
|
||||||
|
m_LabelTable:
|
||||||
|
m_LabelNames:
|
||||||
|
- default
|
||||||
|
m_SchemaTemplates: []
|
||||||
|
m_GroupTemplateObjects:
|
||||||
|
- {fileID: 11400000, guid: 63c989be4f767464bbd2d29f27316786, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 76efe2a1ad2f9f24fb9b02f794fd974d, type: 2}
|
||||||
|
- {fileID: 11400000, guid: af5933cee8a8f9140889c4a0a669a67d, type: 2}
|
||||||
|
m_InitializationObjects: []
|
||||||
|
m_CertificateHandlerType:
|
||||||
|
m_AssemblyName:
|
||||||
|
m_ClassName:
|
||||||
|
m_ActivePlayerDataBuilderIndex: 4
|
||||||
|
m_DataBuilders:
|
||||||
|
- {fileID: 11400000, guid: 3aaba9eb0090cbd43bda0b87dae007ad, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 2cf32c6dca5c3814aa682f35cb5afdb1, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 70bd1540f4e4b0f4fa920d3ba706e290, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 529af1d9b97831944b46774fd6d973d0, type: 2}
|
||||||
|
- {fileID: 11400000, guid: d2953db3a3b7d444b88a0af7383ae15b, type: 2}
|
||||||
|
- {fileID: 11400000, guid: 53d1aec21bc407e46951276825cdb752, type: 2}
|
||||||
|
m_ActiveProfileId: fbad295727b3dec49ba750485b9465e7
|
||||||
|
m_HostingServicesManager:
|
||||||
|
m_HostingServiceInfos: []
|
||||||
|
m_Settings: {fileID: 0}
|
||||||
|
m_NextInstanceId: 0
|
||||||
|
m_RegisteredServiceTypeRefs: []
|
||||||
|
m_PingTimeoutInMilliseconds: 5000
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c71f1176531903748ae728e24f577c88
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
15
Assets/AddressableAssetsData/DefaultObject.asset
Normal file
15
Assets/AddressableAssetsData/DefaultObject.asset
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3}
|
||||||
|
m_Name: DefaultObject
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_AddressableAssetSettingsGuid: c71f1176531903748ae728e24f577c88
|
8
Assets/AddressableAssetsData/DefaultObject.asset.meta
Normal file
8
Assets/AddressableAssetsData/DefaultObject.asset.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5d3b04119e4ec0946b0ce1ca71f2e9b7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders.meta
Normal file
8
Assets/SLZShaders.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 074f63f6bee531747b8047d59069bad1
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
39
Assets/SLZShaders/.GUIDList.txt
Normal file
39
Assets/SLZShaders/.GUIDList.txt
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
e95b31b7241745c479b6b9574209d1f9
|
||||||
|
6bf3d81d08a4ff343b22619a187bb249
|
||||||
|
4c21875978f9ed04d9edcf6d97e9ed54
|
||||||
|
b2e867ce46fe95046aaceb0155a651ad
|
||||||
|
f71cd8ed99405284ab09d18bf11d03ab
|
||||||
|
44cd4284ecfc46c4c97f571b3681e0c6
|
||||||
|
ae467daa42d17ee45b6947a14ec8ec96
|
||||||
|
7276a03ae0651b1419b50e2c76272732
|
||||||
|
f05a5c6a2a705054d8547ebd87b58073
|
||||||
|
97791a0150e87a14bbe1a5d46267be8a
|
||||||
|
93a4eb99edd7b9c42bfb913f0ee52b3e
|
||||||
|
4a1250fb7f0da2e4e96bd2e34ce4a8ea
|
||||||
|
24617ef4b8ecbe74984e0955867cffd4
|
||||||
|
a0cae63ef60b7da4f9cb90b8cdb4ce4e
|
||||||
|
86c42a8335fb06241a674530f1fa24c5
|
||||||
|
6aab105c75192124887c893201ce93e0
|
||||||
|
225aec2e7a259b642a9fa1a4d10d7aac
|
||||||
|
c96b15076e0088349a95505e52f5a12a
|
||||||
|
93c33570d60341c439e50150832c5173
|
||||||
|
81cc8fbe3bd52d149b2b91936b92bfb8
|
||||||
|
6dc78741d54741a4c90a0fb74bd75f20
|
||||||
|
3190a336b6bd4484d911017dd0fc15ba
|
||||||
|
ebf91ac3a3d63fe42ace3e3a75c5153a
|
||||||
|
57dc2f6a8812542439eb1e60c355d9a2
|
||||||
|
75ebf02c7324c2944904e47c12cb421b
|
||||||
|
e48b7c1f5379ceb4687833196130a9dd
|
||||||
|
0e6e0041457dfeb47936aa37f7c4bfdf
|
||||||
|
75872890b046c074fac20ab6d18e52b1
|
||||||
|
40dd6881c3760054cacc50fdba7554dc
|
||||||
|
36686d6671a56b04f9401216e0ff9ae5
|
||||||
|
c156fe6f1c50d864f8ceb85b935236f7
|
||||||
|
390d76c4ec3c32e4e8ecc2b49aa78a1c
|
||||||
|
005850956c06e3c4d9126500376c9a40
|
||||||
|
88f1b8e9d502e19419d88bca2cab94da
|
||||||
|
2313d59684d119840a78fee73c48959a
|
||||||
|
2df13d630bf74324fbefa9003b6544b3
|
||||||
|
03859193eb793184ca8cc47738d7109d
|
||||||
|
f42ab72a6a8465649be290d03a8f1981
|
||||||
|
2a6fc1acbba5a6045a0692bfb9a7a8f2
|
5
Assets/SLZShaders/.sample.json
Normal file
5
Assets/SLZShaders/.sample.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"displayName":"SLZ Bonelab Shaders",
|
||||||
|
"description": "A collection of shaders that are found in Bonelab",
|
||||||
|
"createSeparatePackage": false
|
||||||
|
}
|
8
Assets/SLZShaders/BonelabSky.meta
Normal file
8
Assets/SLZShaders/BonelabSky.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 788eda7870482d742ab84d912eeaef30
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
13
Assets/SLZShaders/BonelabSky/README.txt
Normal file
13
Assets/SLZShaders/BonelabSky/README.txt
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Sky Prefab For Bonelab
|
||||||
|
|
||||||
|
This package contains a prefab for rendering sky in Bonelab. Unity's default
|
||||||
|
sky rendering is turned off due to it being incompatible with the fog and vol-
|
||||||
|
umetric systems we use. The included prefab can be used as a replacement for
|
||||||
|
the default sky. The prefab is simply an enormous mesh with no occlusion and
|
||||||
|
a special shader. Note that the included shader (SLZ/Sky With Fog) must only be
|
||||||
|
used with the included mesh (Sky_Mesh) as the shader expects a single triangle
|
||||||
|
mesh. Additionally, Sky_Mesh has a 65x65x65 kilometer bounding box to ensure it
|
||||||
|
is always rendered. The included prefab further has dynamic occlusion disabled
|
||||||
|
to ensure it never gets culled, as well as all unnecessary lighting information
|
||||||
|
disabled. Do not enable the Occluder or Occludee Static flags on the prefab to
|
||||||
|
ensure the mesh is never occluded.
|
7
Assets/SLZShaders/BonelabSky/README.txt.meta
Normal file
7
Assets/SLZShaders/BonelabSky/README.txt.meta
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 86c42a8335fb06241a674530f1fa24c5
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/BonelabSky/materials.meta
Normal file
8
Assets/SLZShaders/BonelabSky/materials.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d52f8debff15ed04b89c365c5b348eb0
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
94
Assets/SLZShaders/BonelabSky/materials/Sky_Example.mat
Normal file
94
Assets/SLZShaders/BonelabSky/materials/Sky_Example.mat
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Sky_Example
|
||||||
|
m_Shader: {fileID: 4800000, guid: 75ebf02c7324c2944904e47c12cb421b, type: 3}
|
||||||
|
m_ValidKeywords: []
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _BumpMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _DetailMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _EmissionMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _MetallicGlossMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _SkyTex:
|
||||||
|
m_Texture: {fileID: 8900000, guid: e48b7c1f5379ceb4687833196130a9dd, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_Lightmaps:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_LightmapsInd:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- unity_ShadowMasks:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _AlphaClip: 0
|
||||||
|
- _Blend: 0
|
||||||
|
- _BumpScale: 1
|
||||||
|
- _ClearCoatMask: 0
|
||||||
|
- _ClearCoatSmoothness: 0
|
||||||
|
- _Cull: 2
|
||||||
|
- _Cutoff: 0.5
|
||||||
|
- _DetailAlbedoMapScale: 1
|
||||||
|
- _DetailNormalMapScale: 1
|
||||||
|
- _DetailSmoothnessMapScale: 1
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _FogDist: 0.1
|
||||||
|
- _GlossMapScale: 0
|
||||||
|
- _Glossiness: 0
|
||||||
|
- _GlossyReflections: 0
|
||||||
|
- _Metallic: 0
|
||||||
|
- _OffsetFactor: 0
|
||||||
|
- _OffsetUnits: 0
|
||||||
|
- _QueueOffset: 0
|
||||||
|
- _ReceiveShadows: 1
|
||||||
|
- _Smoothness: 1
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _Surface: 0
|
||||||
|
- _ZWrite: 1
|
||||||
|
m_Colors:
|
||||||
|
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
- _SkyColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3190a336b6bd4484d911017dd0fc15ba
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/BonelabSky/meshes.meta
Normal file
8
Assets/SLZShaders/BonelabSky/meshes.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3c33eff4ea614ba4285462f29506cf94
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
167
Assets/SLZShaders/BonelabSky/meshes/Sky_Mesh.asset
Normal file
167
Assets/SLZShaders/BonelabSky/meshes/Sky_Mesh.asset
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!43 &4300000
|
||||||
|
Mesh:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Sky_Mesh
|
||||||
|
serializedVersion: 11
|
||||||
|
m_SubMeshes:
|
||||||
|
- serializedVersion: 2
|
||||||
|
firstByte: 0
|
||||||
|
indexCount: 3
|
||||||
|
topology: 0
|
||||||
|
baseVertex: 0
|
||||||
|
firstVertex: 0
|
||||||
|
vertexCount: 3
|
||||||
|
localAABB:
|
||||||
|
m_Center: {x: 1, y: 1, z: 0}
|
||||||
|
m_Extent: {x: 2, y: 2, z: 0}
|
||||||
|
m_Shapes:
|
||||||
|
vertices: []
|
||||||
|
shapes: []
|
||||||
|
channels: []
|
||||||
|
fullWeights: []
|
||||||
|
m_BindPose: []
|
||||||
|
m_BoneNameHashes:
|
||||||
|
m_RootBoneNameHash: 0
|
||||||
|
m_BonesAABB: []
|
||||||
|
m_VariableBoneCountWeights:
|
||||||
|
m_Data:
|
||||||
|
m_MeshCompression: 0
|
||||||
|
m_IsReadable: 1
|
||||||
|
m_KeepVertices: 1
|
||||||
|
m_KeepIndices: 1
|
||||||
|
m_IndexFormat: 0
|
||||||
|
m_IndexBuffer: 000001000200
|
||||||
|
m_VertexData:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_VertexCount: 3
|
||||||
|
m_Channels:
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 3
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 12
|
||||||
|
format: 0
|
||||||
|
dimension: 2
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
- stream: 0
|
||||||
|
offset: 0
|
||||||
|
format: 0
|
||||||
|
dimension: 0
|
||||||
|
m_DataSize: 60
|
||||||
|
_typelessdata: 000080bf0000404000000000000000000000803f000080bf000080bf00000000000000000000000000004040000080bf000000000000803f00000000
|
||||||
|
m_CompressedMesh:
|
||||||
|
m_Vertices:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Range: 0
|
||||||
|
m_Start: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_UV:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Range: 0
|
||||||
|
m_Start: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_Normals:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Range: 0
|
||||||
|
m_Start: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_Tangents:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Range: 0
|
||||||
|
m_Start: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_Weights:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_NormalSigns:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_TangentSigns:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_FloatColors:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Range: 0
|
||||||
|
m_Start: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_BoneIndices:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_Triangles:
|
||||||
|
m_NumItems: 0
|
||||||
|
m_Data:
|
||||||
|
m_BitSize: 0
|
||||||
|
m_UVInfo: 0
|
||||||
|
m_LocalAABB:
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
m_Extent: {x: 32768, y: 32768, z: 32768}
|
||||||
|
m_MeshUsageFlags: 0
|
||||||
|
m_CookingOptions: 30
|
||||||
|
m_BakedConvexCollisionMesh:
|
||||||
|
m_BakedTriangleCollisionMesh:
|
||||||
|
m_MeshMetrics[0]: 1
|
||||||
|
m_MeshMetrics[1]: 1
|
||||||
|
m_MeshOptimizationFlags: 1
|
||||||
|
m_StreamData:
|
||||||
|
serializedVersion: 2
|
||||||
|
offset: 0
|
||||||
|
size: 0
|
||||||
|
path:
|
8
Assets/SLZShaders/BonelabSky/meshes/Sky_Mesh.asset.meta
Normal file
8
Assets/SLZShaders/BonelabSky/meshes/Sky_Mesh.asset.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ebf91ac3a3d63fe42ace3e3a75c5153a
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/BonelabSky/prefabs.meta
Normal file
8
Assets/SLZShaders/BonelabSky/prefabs.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dfda820ea5fa26a4fad111042abd4a98
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
85
Assets/SLZShaders/BonelabSky/prefabs/Sky_Prefab.prefab
Normal file
85
Assets/SLZShaders/BonelabSky/prefabs/Sky_Prefab.prefab
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &531086027732950538
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1713422862066233390}
|
||||||
|
- component: {fileID: 2453626235171082250}
|
||||||
|
- component: {fileID: 3742906364795765522}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Sky_Prefab
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 64
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1713422862066233390
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 531086027732950538}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &2453626235171082250
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 531086027732950538}
|
||||||
|
m_Mesh: {fileID: 4300000, guid: ebf91ac3a3d63fe42ace3e3a75c5153a, type: 2}
|
||||||
|
--- !u!23 &3742906364795765522
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 531086027732950538}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 0
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 0
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 2
|
||||||
|
m_LightProbeUsage: 0
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 2100000, guid: 3190a336b6bd4484d911017dd0fc15ba, type: 2}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 57dc2f6a8812542439eb1e60c355d9a2
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/BonelabSky/shaders.meta
Normal file
8
Assets/SLZShaders/BonelabSky/shaders.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca716302fae88144cb8018d9ea2dd61c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
122
Assets/SLZShaders/BonelabSky/shaders/Sky_Far.shader
Normal file
122
Assets/SLZShaders/BonelabSky/shaders/Sky_Far.shader
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
Shader "SLZ/Sky With Fog"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
_SkyTex ("Sky Texture", CUBE) = "black" {}
|
||||||
|
[HDR] _SkyColor ("Sky Color", Color) = (1,1,1,1)
|
||||||
|
_FogDist ("Fog Max Distance (0 to camera far clip)", Range(0,1)) = 1.0
|
||||||
|
}
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
Tags {"RenderPipeline" = "UniversalPipeline" "RenderType" = "Opaque" "Queue" = "AlphaTest+51" "IgnoreProjector"="True"}
|
||||||
|
Blend One Zero
|
||||||
|
ZWrite Off
|
||||||
|
ZTest LEqual
|
||||||
|
//Offset 1,1
|
||||||
|
ColorMask RGBA
|
||||||
|
LOD 100
|
||||||
|
Cull Off
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
Name "Forward"
|
||||||
|
Tags {"Lightmode"="UniversalForward"}
|
||||||
|
HLSLPROGRAM
|
||||||
|
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
#pragma exclude_renderers gles
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_fragment _ FOG_LINEAR FOG_EXP2
|
||||||
|
#define SHADERPASS SHADERPASS_FORWARD
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
|
||||||
|
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
//float4 vertex : POSITION;
|
||||||
|
half2 uv0 : TEXCOORD0;
|
||||||
|
uint vertexID : SV_VertexID;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
float2 uv0 : TEXCOORD0;
|
||||||
|
float4 wPos_xyz_fog_x : TEXCOORD1;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
TEXTURECUBE(_SkyTex);
|
||||||
|
SamplerState sampler_SkyTex;
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
half4 _SkyColor;
|
||||||
|
float _FogDist;
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
|
||||||
|
/* Gets the position of a vertex as a part of a right triangle that completely covers the screen
|
||||||
|
* Assumes a single triangle mesh, with the positions based on the vertex's ID.
|
||||||
|
* CCW order
|
||||||
|
* 0 : 0,1 0
|
||||||
|
* 1 : 0,0 | \
|
||||||
|
* 2 : 1,0 1--2
|
||||||
|
*/
|
||||||
|
float4 GetQuadVertexPosition2(uint vertexID, float z = UNITY_NEAR_CLIP_VALUE)
|
||||||
|
{
|
||||||
|
uint topBit = vertexID >> 1u;
|
||||||
|
uint botBit = (vertexID & 1u);
|
||||||
|
float y = 1.0f - ((vertexID & 2u) >> 1);
|
||||||
|
float x = (vertexID & 1u);//1 - (topBit + botBit) & 1; // produces 1 for indices 0,3 and 0 for 1,2
|
||||||
|
return float4(x, y, z, 1.0);
|
||||||
|
}
|
||||||
|
v2f vert(appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
//float z = (rcp(_SkyDist) - _ZBufferParams.y) / (_ZBufferParams.x); // Transform from linear 0-1 depth to clipspace Z
|
||||||
|
float4 clipQuad = GetQuadVertexPosition(v.vertexID, UNITY_RAW_FAR_CLIP_VALUE);
|
||||||
|
clipQuad.xy = 4.0f * clipQuad.xy - 1.0f;
|
||||||
|
//clipQuad.xy = 0.5f * clipQuad.xy - 0.5f;
|
||||||
|
float4 wPos = mul(UNITY_MATRIX_I_VP, clipQuad);
|
||||||
|
o.wPos_xyz_fog_x.xyz = wPos.xyz / wPos.w;
|
||||||
|
o.vertex = clipQuad;
|
||||||
|
half clipZ_0Far = lerp(_ProjectionParams.y, _ProjectionParams.z, _FogDist);
|
||||||
|
o.wPos_xyz_fog_x.w = unity_FogParams.x * clipZ_0Far;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
half4 frag(v2f i) : SV_Target
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(i);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
|
float3 viewDir = normalize(float3(i.wPos_xyz_fog_x.xyz - _WorldSpaceCameraPos));
|
||||||
|
half4 col = SAMPLE_TEXTURECUBE_LOD(_SkyTex, sampler_SkyTex, viewDir, 0);
|
||||||
|
col *= _SkyColor;
|
||||||
|
|
||||||
|
col.rgb = MixFog(col.rgb, viewDir, i.wPos_xyz_fog_x.w);
|
||||||
|
|
||||||
|
col = Volumetrics(col, i.wPos_xyz_fog_x.xyz);
|
||||||
|
|
||||||
|
return col;
|
||||||
|
}
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
Assets/SLZShaders/BonelabSky/shaders/Sky_Far.shader.meta
Normal file
10
Assets/SLZShaders/BonelabSky/shaders/Sky_Far.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 75ebf02c7324c2944904e47c12cb421b
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/BonelabSky/textures.meta
Normal file
8
Assets/SLZShaders/BonelabSky/textures.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ea399fb043d56334aa2576c57d9a4eee
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/SLZShaders/BonelabSky/textures/ProtoSky.png
Normal file
BIN
Assets/SLZShaders/BonelabSky/textures/ProtoSky.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
138
Assets/SLZShaders/BonelabSky/textures/ProtoSky.png.meta
Normal file
138
Assets/SLZShaders/BonelabSky/textures/ProtoSky.png.meta
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e48b7c1f5379ceb4687833196130a9dd
|
||||||
|
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: 2
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
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: 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
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData: "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ExtraTextureSettings
|
||||||
|
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n
|
||||||
|
<detailMap>false</detailMap>\r\n <hemiOctNormals>true</hemiOctNormals>\r\n
|
||||||
|
<geoRoughness>GenRoughness</geoRoughness>\r\n <geoRoughnessPow>1</geoRoughnessPow>\r\n
|
||||||
|
<dontReadSource>false</dontReadSource>\r\n</ExtraTextureSettings>"
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3325
Assets/SLZShaders/Fluorescence.shader
Normal file
3325
Assets/SLZShaders/Fluorescence.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/Fluorescence.shader.meta
Normal file
10
Assets/SLZShaders/Fluorescence.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e95b31b7241745c479b6b9574209d1f9
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
2397
Assets/SLZShaders/ForceField.shader
Normal file
2397
Assets/SLZShaders/ForceField.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/ForceField.shader.meta
Normal file
10
Assets/SLZShaders/ForceField.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6bf3d81d08a4ff343b22619a187bb249
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/Include.meta
Normal file
8
Assets/SLZShaders/Include.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ae65e6fd73412a843ad0abebcd7f7754
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/Include/Particle.meta
Normal file
8
Assets/SLZShaders/Include/Particle.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 05cb88a931e735a4b9ad942dbbbf3ed7
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/Include/Particle/ShaderInjector.meta
Normal file
8
Assets/SLZShaders/Include/Particle/ShaderInjector.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: baf0cae36873ec6479fc0c926f732068
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 98a02e34c0c4b8748ade0ad9cd5a2611
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,152 @@
|
||||||
|
|
||||||
|
#pragma target 5.0
|
||||||
|
//#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
//#!INJECT_POINT MOBILE_DEFINES
|
||||||
|
#else
|
||||||
|
//#!INJECT_POINT STANDALONE_DEFINES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//#!INJECT_POINT UNIVERSAL_DEFINES
|
||||||
|
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#pragma skip_variants FOG_LINEAR
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#pragma instancing_options procedural:ParticleInstancingSetup
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
//#!INJECT_POINT INCLUDES
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float4 uv0_vertexStream0_xy : TEXCOORD0;
|
||||||
|
half4 color : COLOR;
|
||||||
|
//#!INJECT_POINT VERTEX_IN
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
float vertexStream1 : TEXCOORD1;
|
||||||
|
//#!INJECT_END
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
//#!INJECT_POINT VERTEX_CENTROID
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
//#!INJECT_END
|
||||||
|
float2 uv0 : TEXCOORD0;
|
||||||
|
float4 wPos_xyz_fog_x : TEXCOORD1;
|
||||||
|
half4 color : COLOR;
|
||||||
|
//#!INJECT_POINT INTERPOLATORS
|
||||||
|
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fragOut
|
||||||
|
{
|
||||||
|
half4 color : SV_Target;
|
||||||
|
//#!INJECT_POINT OUTPUT_SEMANTICS
|
||||||
|
};
|
||||||
|
|
||||||
|
//#include "Include/PlatformSamplers.hlsl"
|
||||||
|
|
||||||
|
TEXTURE2D(_BaseMap);
|
||||||
|
SamplerState sampler_BaseMap;
|
||||||
|
|
||||||
|
//#!INJECT_POINT UNIFORMS
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _BaseMap_ST;
|
||||||
|
half4 _BaseColor;
|
||||||
|
//#!INJECT_POINT MATERIAL_CBUFFER
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
//#!INJECT_POINT FUNCTIONS
|
||||||
|
|
||||||
|
v2f vert(appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
//#!INJECT_POINT VERT_BEGIN
|
||||||
|
|
||||||
|
//#!INJECT_POINT VERT_TRANSFORM
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
float3 particleCenter = float3(v.uv0_vertexStream0_xy.zw, v.vertexStream1.x);
|
||||||
|
v.vertex.xyz = ParticleFaceCamera(v.vertex.xyz, particleCenter);
|
||||||
|
//#!INJECT_END
|
||||||
|
o.wPos_xyz_fog_x.xyz = TransformObjectToWorld(v.vertex.xyz);
|
||||||
|
o.vertex = TransformWorldToHClip(o.wPos_xyz_fog_x.xyz);
|
||||||
|
o.uv0 = TRANSFORM_TEX(v.uv0_vertexStream0_xy.xy, _BaseMap);
|
||||||
|
half clipZ_0Far = UNITY_Z_0_FAR_FROM_CLIPSPACE(o.vertex.z);
|
||||||
|
o.wPos_xyz_fog_x.w = unity_FogParams.x * clipZ_0Far;
|
||||||
|
o.color = v.color;
|
||||||
|
|
||||||
|
//#!INJECT_POINT VERT_END
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
fragOut frag(v2f i)
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(i);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
|
fragOut f;
|
||||||
|
|
||||||
|
//#!INJECT_POINT FRAG_BEGIN
|
||||||
|
|
||||||
|
//#!INJECT_POINT FRAG_COLOR
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
f.color = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, i.uv0);
|
||||||
|
f.color *= _BaseColor * i.color;
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_POINT FRAG_FOG
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
half3 viewDir = normalize(half3(i.wPos_xyz_fog_x.xyz - _WorldSpaceCameraPos));
|
||||||
|
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color.rgb *= 1.0 - ComputeFogIntensity(i.wPos_xyz_fog_x.w);
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color.rgb = lerp(f.color.rgb, half3(1,1,1), ComputeFogIntensity(i.wPos_xyz_fog_x.w));
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color.rgb = MixFog(f.color.rgb, viewDir, i.wPos_xyz_fog_x.w);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
|
||||||
|
//#!INJECT_POINT FRAG_VOLUMETRICS
|
||||||
|
//#!INJECT_DEFAULT
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
#if defined(_VOLUMETRICS_ENABLED)
|
||||||
|
f.color *= GetVolumetricColor(i.wPos_xyz_fog_x.xyz).a;
|
||||||
|
#endif
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color = Volumetrics(f.color, i.wPos_xyz_fog_x.xyz);
|
||||||
|
#endif
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_POINT FRAG_END
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2df13d630bf74324fbefa9003b6544b3
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4e0ec44885694984b843804e07b56a1c
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,42 @@
|
||||||
|
//#!INJECT_BEGIN INCLUDES 0
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SLZBlueNoise.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SLZSoftBlend.hlsl"
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN MATERIAL_CBUFFER 0
|
||||||
|
float _SoftFactor;
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN VERTEX_CENTROID 0
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
centroid float4 vertex : SV_POSITION;
|
||||||
|
#else
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
#endif
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN OUTPUT_SEMANTICS 0
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
float depth : SV_DepthLessEqual;
|
||||||
|
#endif
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN FRAG_END 99
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
half noise = GetScreenNoiseR(screenUVs);
|
||||||
|
f.depth = SLZSoftBlendZTest(i.vertex.z, noise, _SoftFactor);
|
||||||
|
#else
|
||||||
|
float rawDepth = SampleSceneDepth(screenUVs);
|
||||||
|
float viewZ = dot(GetWorldToViewMatrix()._m20_m21_m22_m23, float4(i.wPos_xyz_fog_x.xyz, 1));
|
||||||
|
float fade = SLZSoftBlendDepth(rawDepth, viewZ, _SoftFactor);
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color *= fade;
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color = lerp(fade, float4(1,1,1,1), f.color));
|
||||||
|
#else
|
||||||
|
f.color.a *= fade;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
//#!INJECT_END
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f42ab72a6a8465649be290d03a8f1981
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN FRAG_BEGIN -1
|
||||||
|
float2 screenUVs = GetNormalizedScreenSpaceUV(i.vertex);
|
||||||
|
//#!INJECT_END
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 03859193eb793184ca8cc47738d7109d
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,39 @@
|
||||||
|
//#!INJECT_BEGIN UNIFORMS 0
|
||||||
|
TEXTURE2D(_ScreenSpacePattern);
|
||||||
|
SAMPLER(sampler_ScreenSpacePattern);
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN MATERIAL_CBUFFER 0
|
||||||
|
half _Speed;
|
||||||
|
half _SecondarySpeed;
|
||||||
|
float _ScreenSpaceSize;
|
||||||
|
float _ParticleOffset;
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN FUNCTIONS 0
|
||||||
|
float2 RotateTorchUVs(float2 uv, float2 center, float angle)
|
||||||
|
{
|
||||||
|
uv = uv - center;
|
||||||
|
float sin1, cos1;
|
||||||
|
sincos(angle, sin1, cos1);
|
||||||
|
float2x2 rotMat = float2x2(cos1, -sin1, sin1, cos1);
|
||||||
|
uv = mul(rotMat, uv);
|
||||||
|
return uv + center;
|
||||||
|
}
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN VERT_BEGIN 0
|
||||||
|
v.vertex.z += _ParticleOffset;
|
||||||
|
//#!INJECT_END
|
||||||
|
|
||||||
|
//#!INJECT_BEGIN FRAG_COLOR 0
|
||||||
|
float angle1 = frac(_Time[0] * 3.1830988618 * _Speed) * TWO_PI;
|
||||||
|
float angle2 = frac(_Time[0] * 3.1830988618 * _Speed * _SecondarySpeed) * TWO_PI;
|
||||||
|
angle1 = -angle1;
|
||||||
|
float2 uv1 = RotateTorchUVs(i.uv0.xy, float2(0.5, 0.5), angle1);
|
||||||
|
half layer1 = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, uv1).r;
|
||||||
|
float2 uv2 = RotateTorchUVs(i.uv0.xy, float2(0.5, 0.5), angle2);
|
||||||
|
half layer2 = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, uv2).r;
|
||||||
|
half4 SSPattern = SAMPLE_TEXTURE2D(_ScreenSpacePattern, sampler_ScreenSpacePattern, _ScreenParams.xy * screenUVs / _ScreenSpaceSize);
|
||||||
|
f.color = (layer1 * layer2 * i.color.a) * SSPattern * _BaseColor * i.color;
|
||||||
|
//#!INJECT_END
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2a6fc1acbba5a6045a0692bfb9a7a8f2
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,17 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bd7d1f8f9838c1541abbb5c264b254f6, type: 3}
|
||||||
|
m_Name: ParticleBasic
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
outputInclude: {fileID: 10900000, guid: c156fe6f1c50d864f8ceb85b935236f7, type: 3}
|
||||||
|
baseInclude: {fileID: 10900000, guid: 2df13d630bf74324fbefa9003b6544b3, type: 3}
|
||||||
|
injectableIncludes: []
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 36686d6671a56b04f9401216e0ff9ae5
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,128 @@
|
||||||
|
/*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
* WARNING: THIS FILE WAS CREATED WITH SHADERINJECTOR, AND SHOULD NOT BE EDITED DIRECTLY. MODIFY THE *
|
||||||
|
* BASE INCLUDE AND INJECTED FILES INSTEAD, AND REGENERATE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
#pragma target 5.0
|
||||||
|
//#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
#else
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#pragma skip_variants FOG_LINEAR
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#pragma instancing_options procedural:ParticleInstancingSetup
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float4 uv0_vertexStream0_xy : TEXCOORD0;
|
||||||
|
half4 color : COLOR;
|
||||||
|
float vertexStream1 : TEXCOORD1;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
float2 uv0 : TEXCOORD0;
|
||||||
|
float4 wPos_xyz_fog_x : TEXCOORD1;
|
||||||
|
half4 color : COLOR;
|
||||||
|
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fragOut
|
||||||
|
{
|
||||||
|
half4 color : SV_Target;
|
||||||
|
};
|
||||||
|
|
||||||
|
//#include "Include/PlatformSamplers.hlsl"
|
||||||
|
|
||||||
|
TEXTURE2D(_BaseMap);
|
||||||
|
SamplerState sampler_BaseMap;
|
||||||
|
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _BaseMap_ST;
|
||||||
|
half4 _BaseColor;
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
|
||||||
|
v2f vert(appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
|
||||||
|
float3 particleCenter = float3(v.uv0_vertexStream0_xy.zw, v.vertexStream1.x);
|
||||||
|
v.vertex.xyz = ParticleFaceCamera(v.vertex.xyz, particleCenter);
|
||||||
|
o.wPos_xyz_fog_x.xyz = TransformObjectToWorld(v.vertex.xyz);
|
||||||
|
o.vertex = TransformWorldToHClip(o.wPos_xyz_fog_x.xyz);
|
||||||
|
o.uv0 = TRANSFORM_TEX(v.uv0_vertexStream0_xy.xy, _BaseMap);
|
||||||
|
half clipZ_0Far = UNITY_Z_0_FAR_FROM_CLIPSPACE(o.vertex.z);
|
||||||
|
o.wPos_xyz_fog_x.w = unity_FogParams.x * clipZ_0Far;
|
||||||
|
o.color = v.color;
|
||||||
|
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
fragOut frag(v2f i)
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(i);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
|
fragOut f;
|
||||||
|
|
||||||
|
|
||||||
|
f.color = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, i.uv0);
|
||||||
|
f.color *= _BaseColor * i.color;
|
||||||
|
|
||||||
|
half3 viewDir = normalize(half3(i.wPos_xyz_fog_x.xyz - _WorldSpaceCameraPos));
|
||||||
|
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color.rgb *= 1.0 - ComputeFogIntensity(i.wPos_xyz_fog_x.w);
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color.rgb = lerp(f.color.rgb, half3(1,1,1), ComputeFogIntensity(i.wPos_xyz_fog_x.w));
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color.rgb = MixFog(f.color.rgb, viewDir, i.wPos_xyz_fog_x.w);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
#if defined(_VOLUMETRICS_ENABLED)
|
||||||
|
f.color *= GetVolumetricColor(i.wPos_xyz_fog_x.xyz).a;
|
||||||
|
#endif
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color = Volumetrics(f.color, i.wPos_xyz_fog_x.xyz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c156fe6f1c50d864f8ceb85b935236f7
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,19 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bd7d1f8f9838c1541abbb5c264b254f6, type: 3}
|
||||||
|
m_Name: ParticleSoft
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
outputInclude: {fileID: 10900000, guid: 005850956c06e3c4d9126500376c9a40, type: 3}
|
||||||
|
baseInclude: {fileID: 10900000, guid: 2df13d630bf74324fbefa9003b6544b3, type: 3}
|
||||||
|
injectableIncludes:
|
||||||
|
- {fileID: 10900000, guid: 03859193eb793184ca8cc47738d7109d, type: 3}
|
||||||
|
- {fileID: 10900000, guid: f42ab72a6a8465649be290d03a8f1981, type: 3}
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 390d76c4ec3c32e4e8ecc2b49aa78a1c
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,175 @@
|
||||||
|
/*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
* WARNING: THIS FILE WAS CREATED WITH SHADERINJECTOR, AND SHOULD NOT BE EDITED DIRECTLY. MODIFY THE *
|
||||||
|
* BASE INCLUDE AND INJECTED FILES INSTEAD, AND REGENERATE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
#pragma target 5.0
|
||||||
|
//#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
#else
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#pragma skip_variants FOG_LINEAR
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#pragma instancing_options procedural:ParticleInstancingSetup
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
// Begin Injection INCLUDES from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SLZBlueNoise.hlsl"
|
||||||
|
#else
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
|
||||||
|
#endif
|
||||||
|
// End Injection INCLUDES from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float4 uv0_vertexStream0_xy : TEXCOORD0;
|
||||||
|
half4 color : COLOR;
|
||||||
|
float vertexStream1 : TEXCOORD1;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
// Begin Injection VERTEX_CENTROID from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
centroid float4 vertex : SV_POSITION;
|
||||||
|
#else
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
#endif
|
||||||
|
// End Injection VERTEX_CENTROID from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
float2 uv0 : TEXCOORD0;
|
||||||
|
float4 wPos_xyz_fog_x : TEXCOORD1;
|
||||||
|
half4 color : COLOR;
|
||||||
|
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fragOut
|
||||||
|
{
|
||||||
|
half4 color : SV_Target;
|
||||||
|
// Begin Injection OUTPUT_SEMANTICS from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
float depth : SV_DepthLessEqual;
|
||||||
|
#endif
|
||||||
|
// End Injection OUTPUT_SEMANTICS from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
};
|
||||||
|
|
||||||
|
//#include "Include/PlatformSamplers.hlsl"
|
||||||
|
|
||||||
|
TEXTURE2D(_BaseMap);
|
||||||
|
SamplerState sampler_BaseMap;
|
||||||
|
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _BaseMap_ST;
|
||||||
|
half4 _BaseColor;
|
||||||
|
// Begin Injection MATERIAL_CBUFFER from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
float _SoftFactor;
|
||||||
|
// End Injection MATERIAL_CBUFFER from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
|
||||||
|
v2f vert(appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
|
||||||
|
float3 particleCenter = float3(v.uv0_vertexStream0_xy.zw, v.vertexStream1.x);
|
||||||
|
v.vertex.xyz = ParticleFaceCamera(v.vertex.xyz, particleCenter);
|
||||||
|
o.wPos_xyz_fog_x.xyz = TransformObjectToWorld(v.vertex.xyz);
|
||||||
|
o.vertex = TransformWorldToHClip(o.wPos_xyz_fog_x.xyz);
|
||||||
|
o.uv0 = TRANSFORM_TEX(v.uv0_vertexStream0_xy.xy, _BaseMap);
|
||||||
|
half clipZ_0Far = UNITY_Z_0_FAR_FROM_CLIPSPACE(o.vertex.z);
|
||||||
|
o.wPos_xyz_fog_x.w = unity_FogParams.x * clipZ_0Far;
|
||||||
|
o.color = v.color;
|
||||||
|
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
fragOut frag(v2f i)
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(i);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
|
fragOut f;
|
||||||
|
|
||||||
|
// Begin Injection FRAG_BEGIN from Injection_Particle_screenspaceUVs.hlsl ----------------------------------------------------------
|
||||||
|
float2 screenUVs = GetNormalizedScreenSpaceUV(i.vertex);
|
||||||
|
// End Injection FRAG_BEGIN from Injection_Particle_screenspaceUVs.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
f.color = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, i.uv0);
|
||||||
|
f.color *= _BaseColor * i.color;
|
||||||
|
|
||||||
|
half3 viewDir = normalize(half3(i.wPos_xyz_fog_x.xyz - _WorldSpaceCameraPos));
|
||||||
|
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color.rgb *= 1.0 - ComputeFogIntensity(i.wPos_xyz_fog_x.w);
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color.rgb = lerp(f.color.rgb, half3(1,1,1), ComputeFogIntensity(i.wPos_xyz_fog_x.w));
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color.rgb = MixFog(f.color.rgb, viewDir, i.wPos_xyz_fog_x.w);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
#if defined(_VOLUMETRICS_ENABLED)
|
||||||
|
f.color *= GetVolumetricColor(i.wPos_xyz_fog_x.xyz).a;
|
||||||
|
#endif
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color = Volumetrics(f.color, i.wPos_xyz_fog_x.xyz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Begin Injection FRAG_END from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
half noise = GetScreenNoiseR(screenUVs);
|
||||||
|
float depthOffset = _SoftFactor * noise * noise ;
|
||||||
|
float vertDepth = i.vertex.z;
|
||||||
|
float cameraZ = 1.0 / (_ZBufferParams.z * vertDepth + _ZBufferParams.w);
|
||||||
|
cameraZ += depthOffset;
|
||||||
|
f.depth = (rcp(cameraZ) - _ZBufferParams.w) / _ZBufferParams.z;
|
||||||
|
#else
|
||||||
|
float rawDepth = SampleSceneDepth(screenUVs);
|
||||||
|
float sceneZ = (unity_OrthoParams.w == 0) ? LinearEyeDepth(rawDepth, _ZBufferParams) : LinearDepthToEyeDepth(rawDepth);
|
||||||
|
float thisZ = LinearEyeDepth(i.wPos_xyz_fog_x.xyz, GetWorldToViewMatrix());
|
||||||
|
float fade = saturate((1 / _SoftFactor) * (sceneZ - thisZ));
|
||||||
|
fade *= fade;
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color *= fade;
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color = lerp(fade, float4(1,1,1,1), f.color));
|
||||||
|
#else
|
||||||
|
f.color.a *= fade;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
// End Injection FRAG_END from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 005850956c06e3c4d9126500376c9a40
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,20 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: bd7d1f8f9838c1541abbb5c264b254f6, type: 3}
|
||||||
|
m_Name: ParticleTorch
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
outputInclude: {fileID: 10900000, guid: 2313d59684d119840a78fee73c48959a, type: 3}
|
||||||
|
baseInclude: {fileID: 10900000, guid: 2df13d630bf74324fbefa9003b6544b3, type: 3}
|
||||||
|
injectableIncludes:
|
||||||
|
- {fileID: 10900000, guid: 03859193eb793184ca8cc47738d7109d, type: 3}
|
||||||
|
- {fileID: 10900000, guid: f42ab72a6a8465649be290d03a8f1981, type: 3}
|
||||||
|
- {fileID: 10900000, guid: 2a6fc1acbba5a6045a0692bfb9a7a8f2, type: 3}
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 88f1b8e9d502e19419d88bca2cab94da
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1,200 @@
|
||||||
|
/*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
* WARNING: THIS FILE WAS CREATED WITH SHADERINJECTOR, AND SHOULD NOT BE EDITED DIRECTLY. MODIFY THE *
|
||||||
|
* BASE INCLUDE AND INJECTED FILES INSTEAD, AND REGENERATE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *
|
||||||
|
*-----------------------------------------------------------------------------------------------------*
|
||||||
|
*-----------------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
#pragma target 5.0
|
||||||
|
//#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
#else
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#pragma skip_variants FOG_LINEAR
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#pragma instancing_options procedural:ParticleInstancingSetup
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl"
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
// Begin Injection INCLUDES from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SLZBlueNoise.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SLZSoftBlend.hlsl"
|
||||||
|
// End Injection INCLUDES from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
struct appdata
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float4 uv0_vertexStream0_xy : TEXCOORD0;
|
||||||
|
half4 color : COLOR;
|
||||||
|
float vertexStream1 : TEXCOORD1;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct v2f
|
||||||
|
{
|
||||||
|
// Begin Injection VERTEX_CENTROID from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
centroid float4 vertex : SV_POSITION;
|
||||||
|
#else
|
||||||
|
float4 vertex : SV_POSITION;
|
||||||
|
#endif
|
||||||
|
// End Injection VERTEX_CENTROID from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
float2 uv0 : TEXCOORD0;
|
||||||
|
float4 wPos_xyz_fog_x : TEXCOORD1;
|
||||||
|
half4 color : COLOR;
|
||||||
|
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fragOut
|
||||||
|
{
|
||||||
|
half4 color : SV_Target;
|
||||||
|
// Begin Injection OUTPUT_SEMANTICS from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
float depth : SV_DepthLessEqual;
|
||||||
|
#endif
|
||||||
|
// End Injection OUTPUT_SEMANTICS from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
};
|
||||||
|
|
||||||
|
//#include "Include/PlatformSamplers.hlsl"
|
||||||
|
|
||||||
|
TEXTURE2D(_BaseMap);
|
||||||
|
SamplerState sampler_BaseMap;
|
||||||
|
|
||||||
|
// Begin Injection UNIFORMS from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
TEXTURE2D(_ScreenSpacePattern);
|
||||||
|
SAMPLER(sampler_ScreenSpacePattern);
|
||||||
|
// End Injection UNIFORMS from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _BaseMap_ST;
|
||||||
|
half4 _BaseColor;
|
||||||
|
// Begin Injection MATERIAL_CBUFFER from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
float _SoftFactor;
|
||||||
|
// End Injection MATERIAL_CBUFFER from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
// Begin Injection MATERIAL_CBUFFER from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
half _Speed;
|
||||||
|
half _SecondarySpeed;
|
||||||
|
float _ScreenSpaceSize;
|
||||||
|
float _ParticleOffset;
|
||||||
|
// End Injection MATERIAL_CBUFFER from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
CBUFFER_END
|
||||||
|
|
||||||
|
// Begin Injection FUNCTIONS from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
float2 RotateTorchUVs(float2 uv, float2 center, float angle)
|
||||||
|
{
|
||||||
|
uv = uv - center;
|
||||||
|
float sin1, cos1;
|
||||||
|
sincos(angle, sin1, cos1);
|
||||||
|
float2x2 rotMat = float2x2(cos1, -sin1, sin1, cos1);
|
||||||
|
uv = mul(rotMat, uv);
|
||||||
|
return uv + center;
|
||||||
|
}
|
||||||
|
// End Injection FUNCTIONS from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
v2f vert(appdata v)
|
||||||
|
{
|
||||||
|
v2f o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
// Begin Injection VERT_BEGIN from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
v.vertex.z += _ParticleOffset;
|
||||||
|
// End Injection VERT_BEGIN from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
float3 particleCenter = float3(v.uv0_vertexStream0_xy.zw, v.vertexStream1.x);
|
||||||
|
v.vertex.xyz = ParticleFaceCamera(v.vertex.xyz, particleCenter);
|
||||||
|
o.wPos_xyz_fog_x.xyz = TransformObjectToWorld(v.vertex.xyz);
|
||||||
|
o.vertex = TransformWorldToHClip(o.wPos_xyz_fog_x.xyz);
|
||||||
|
o.uv0 = TRANSFORM_TEX(v.uv0_vertexStream0_xy.xy, _BaseMap);
|
||||||
|
half clipZ_0Far = UNITY_Z_0_FAR_FROM_CLIPSPACE(o.vertex.z);
|
||||||
|
o.wPos_xyz_fog_x.w = unity_FogParams.x * clipZ_0Far;
|
||||||
|
o.color = v.color;
|
||||||
|
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
fragOut frag(v2f i)
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(i);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
|
||||||
|
|
||||||
|
fragOut f;
|
||||||
|
|
||||||
|
// Begin Injection FRAG_BEGIN from Injection_Particle_screenspaceUVs.hlsl ----------------------------------------------------------
|
||||||
|
float2 screenUVs = GetNormalizedScreenSpaceUV(i.vertex);
|
||||||
|
// End Injection FRAG_BEGIN from Injection_Particle_screenspaceUVs.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
// Begin Injection FRAG_COLOR from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
float angle1 = frac(_Time[0] * 3.1830988618 * _Speed) * TWO_PI;
|
||||||
|
float angle2 = frac(_Time[0] * 3.1830988618 * _Speed * _SecondarySpeed) * TWO_PI;
|
||||||
|
angle1 = -angle1;
|
||||||
|
float2 uv1 = RotateTorchUVs(i.uv0.xy, float2(0.5, 0.5), angle1);
|
||||||
|
half layer1 = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, uv1).r;
|
||||||
|
float2 uv2 = RotateTorchUVs(i.uv0.xy, float2(0.5, 0.5), angle2);
|
||||||
|
half layer2 = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, uv2).r;
|
||||||
|
half4 SSPattern = SAMPLE_TEXTURE2D(_ScreenSpacePattern, sampler_ScreenSpacePattern, _ScreenParams.xy * screenUVs / _ScreenSpaceSize);
|
||||||
|
f.color = (layer1 * layer2 * i.color.a) * SSPattern * _BaseColor * i.color;
|
||||||
|
// End Injection FRAG_COLOR from Injection_Torch.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
half3 viewDir = normalize(half3(i.wPos_xyz_fog_x.xyz - _WorldSpaceCameraPos));
|
||||||
|
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color.rgb *= 1.0 - ComputeFogIntensity(i.wPos_xyz_fog_x.w);
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color.rgb = lerp(f.color.rgb, half3(1,1,1), ComputeFogIntensity(i.wPos_xyz_fog_x.w));
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color.rgb = MixFog(f.color.rgb, viewDir, i.wPos_xyz_fog_x.w);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
#if defined(_VOLUMETRICS_ENABLED)
|
||||||
|
f.color *= GetVolumetricColor(i.wPos_xyz_fog_x.xyz).a;
|
||||||
|
#endif
|
||||||
|
#elif defined(SLZ_PARTICLE_ALPHABLEND)
|
||||||
|
f.color = Volumetrics(f.color, i.wPos_xyz_fog_x.xyz);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Begin Injection FRAG_END from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
#if defined(SHADER_API_MOBILE)
|
||||||
|
half noise = GetScreenNoiseR(screenUVs);
|
||||||
|
f.depth = SLZSoftBlendZTest(i.vertex.z, noise, _SoftFactor);
|
||||||
|
#else
|
||||||
|
float rawDepth = SampleSceneDepth(screenUVs);
|
||||||
|
float viewZ = dot(GetWorldToViewMatrix()._m20_m21_m22_m23, float4(i.wPos_xyz_fog_x.xyz, 1));
|
||||||
|
float fade = SLZSoftBlendDepth(rawDepth, viewZ, _SoftFactor);
|
||||||
|
#if defined(SLZ_PARTICLE_ADDITIVE)
|
||||||
|
f.color *= fade;
|
||||||
|
#elif defined(SLZ_PARTICLE_MULTIPLICATIVE)
|
||||||
|
f.color = lerp(fade, float4(1,1,1,1), f.color));
|
||||||
|
#else
|
||||||
|
f.color.a *= fade;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
// End Injection FRAG_END from Injection_Particle_SoftBlend.hlsl ----------------------------------------------------------
|
||||||
|
|
||||||
|
return f;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2313d59684d119840a78fee73c48959a
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1 @@
|
||||||
|
v.vertex.xyz = ParticleFaceCamera(v.vertex.xyz, v.ase_texcoord1.xyz);
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0e6e0041457dfeb47936aa37f7c4bfdf
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -0,0 +1 @@
|
||||||
|
v.vertex.xyz = MeshFlareBillboard(v.vertex.xyz);
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 75872890b046c074fac20ab6d18e52b1
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
94
Assets/SLZShaders/Include/Particle/billboard.hlsl
Normal file
94
Assets/SLZShaders/Include/Particle/billboard.hlsl
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
float3 centerEyePos()
|
||||||
|
{
|
||||||
|
#if defined(UNITY_STEREO_MULTIVIEW_ENABLED) || defined(UNITY_STEREO_INSTANCING_ENABLED)
|
||||||
|
return 0.5 * (unity_StereoWorldSpaceCameraPos[0] + unity_StereoWorldSpaceCameraPos[1]);
|
||||||
|
#else
|
||||||
|
return _WorldSpaceCameraPos;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Rotates a particle to face the camera in a more vr-correct way than unity's default particle system
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
float3 particle_face_camera(float3 vertex, inout float3 normal, inout float3 center)
|
||||||
|
{
|
||||||
|
vertex.xyz -= center;
|
||||||
|
|
||||||
|
float3 head = centerEyePos();
|
||||||
|
float3 centerToEye = normalize(center-head);
|
||||||
|
float c2eXZLen = length(centerToEye.xz);
|
||||||
|
float sin1 = -centerToEye.y;
|
||||||
|
float cos1 = c2eXZLen;
|
||||||
|
float2x2 rotPitch = float2x2(cos1, sin1, -sin1, cos1);
|
||||||
|
|
||||||
|
vertex.zy = mul(rotPitch, vertex.zy);
|
||||||
|
normal.zy = mul(rotPitch, normal.zy);
|
||||||
|
//tangent.zy = mul(rotPitch, tangent.zy);
|
||||||
|
|
||||||
|
float sin2 = centerToEye.x/c2eXZLen;
|
||||||
|
float cos2 = centerToEye.z/c2eXZLen;
|
||||||
|
float2x2 rotYaw = float2x2(cos2, sin2, -sin2, cos2);
|
||||||
|
|
||||||
|
vertex.xz = mul(rotYaw,vertex.xz);
|
||||||
|
normal.xz = mul(rotYaw,normal.xz);
|
||||||
|
//tangent.xz = mul(rotYaw,tangent.xz);
|
||||||
|
|
||||||
|
vertex.xyz += center;
|
||||||
|
return vertex;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
float3 ParticleFaceCamera(float3 vertex, float3 center)
|
||||||
|
{
|
||||||
|
vertex.xyz -= center;
|
||||||
|
|
||||||
|
float3 head = centerEyePos();
|
||||||
|
float3 centerToEye = normalize(center - head);
|
||||||
|
float c2eXZLen = length(centerToEye.xz);
|
||||||
|
float sin1 = -centerToEye.y;
|
||||||
|
float cos1 = c2eXZLen;
|
||||||
|
float2x2 rotPitch = float2x2(cos1, sin1, -sin1, cos1);
|
||||||
|
|
||||||
|
vertex.zy = mul(rotPitch, vertex.zy);
|
||||||
|
|
||||||
|
|
||||||
|
float sin2 = centerToEye.x / c2eXZLen;
|
||||||
|
float cos2 = centerToEye.z / c2eXZLen;
|
||||||
|
float2x2 rotYaw = float2x2(cos2, sin2, -sin2, cos2);
|
||||||
|
|
||||||
|
vertex.xz = mul(rotYaw, vertex.xz);
|
||||||
|
|
||||||
|
|
||||||
|
vertex.xyz += center;
|
||||||
|
return vertex;
|
||||||
|
}
|
||||||
|
|
||||||
|
float3 MeshFaceCamera(float3 vertex)
|
||||||
|
{
|
||||||
|
float3 center = float3(0,0,0);
|
||||||
|
//vertex = TransformObjectToWorld(vertex);
|
||||||
|
|
||||||
|
float3 head = TransformWorldToObject(centerEyePos());
|
||||||
|
float3 centerToEye = normalize(center - head);
|
||||||
|
float c2eXZLen = length(centerToEye.xz);
|
||||||
|
float sin1 = -centerToEye.y;
|
||||||
|
float cos1 = c2eXZLen;
|
||||||
|
float2x2 rotPitch = float2x2(cos1, sin1, -sin1, cos1);
|
||||||
|
|
||||||
|
vertex.zy = mul(rotPitch, vertex.zy);
|
||||||
|
|
||||||
|
|
||||||
|
float sin2 = centerToEye.x / c2eXZLen;
|
||||||
|
float cos2 = centerToEye.z / c2eXZLen;
|
||||||
|
float2x2 rotYaw = float2x2(cos2, sin2, -sin2, cos2);
|
||||||
|
|
||||||
|
vertex.xz = mul(rotYaw, vertex.xz);
|
||||||
|
|
||||||
|
|
||||||
|
//vertex.xyz += center;
|
||||||
|
return vertex;
|
||||||
|
}
|
||||||
|
|
7
Assets/SLZShaders/Include/Particle/billboard.hlsl.meta
Normal file
7
Assets/SLZShaders/Include/Particle/billboard.hlsl.meta
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 40dd6881c3760054cacc50fdba7554dc
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
16
Assets/SLZShaders/Include/PlatformSamplers.hlsl
Normal file
16
Assets/SLZShaders/Include/PlatformSamplers.hlsl
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#if defined(SHADER_API_MOBILE) // Quest 2 (XR2) works better with combined texture-samplers apparently
|
||||||
|
|
||||||
|
#ifdef TEXTURE2D
|
||||||
|
#undef TEXTURE2D
|
||||||
|
#endif
|
||||||
|
#ifdef SAMPLER
|
||||||
|
#undef SAMPLER
|
||||||
|
#endif
|
||||||
|
#ifdef SAMPLE_TEXTURE2D
|
||||||
|
#undef SAMPLE_TEXTURE2D
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define TEXTURE2D(textureName) sampler2D textureName
|
||||||
|
#define SAMPLER(samplerName)
|
||||||
|
#define SAMPLE_TEXTURE2D(textureName, samplerName, coord) tex2D(textureName, coord)
|
||||||
|
#endif
|
7
Assets/SLZShaders/Include/PlatformSamplers.hlsl.meta
Normal file
7
Assets/SLZShaders/Include/PlatformSamplers.hlsl.meta
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6aab105c75192124887c893201ce93e0
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
95
Assets/SLZShaders/Include/Triplanar.hlsl
Normal file
95
Assets/SLZShaders/Include/Triplanar.hlsl
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
#if !defined(SLZ_TRIPLANAR_INCLUDED)
|
||||||
|
#define SLZ_TRIPLANAR_INCLUDED
|
||||||
|
//#define TEXTURE2D_PARAM(textureName, samplerName) Texture2D textureName, sampler samplerName
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Struct containg the ddx and ddy of the uvs combined into one half4 for each axis
|
||||||
|
*/
|
||||||
|
struct tpDerivatives
|
||||||
|
{
|
||||||
|
half4 ddX;
|
||||||
|
half4 ddY;
|
||||||
|
half4 ddZ;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the derivatives of the worldspace coordinates reduced to 3 2 dimensional planes defined by each axis
|
||||||
|
*
|
||||||
|
* @param wPos Worldspace position
|
||||||
|
* @param[out] dd struct containing the x and y derivatives of each plane
|
||||||
|
*/
|
||||||
|
void GetDirectionalDerivatives(float3 wPos, out tpDerivatives dd)
|
||||||
|
{
|
||||||
|
dd.ddX.xy = ddx(wPos.zy);
|
||||||
|
dd.ddY.xy = ddx(wPos.xz);
|
||||||
|
dd.ddZ.xy = ddx(wPos.xy);
|
||||||
|
dd.ddX.zw = ddy(wPos.zy);
|
||||||
|
dd.ddY.zw = ddy(wPos.xz);
|
||||||
|
dd.ddZ.zw = ddy(wPos.xy);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determines the worldspace axis that the given mesh normal is most closely aligned to, and returns the coordinates of the
|
||||||
|
* pixel in the plane aligned with that axis and the derivatives associated with that plane. Also generates a tangent to world
|
||||||
|
* matrix using the axes orthogonal to the dominant axis as the tangent and bitangent.
|
||||||
|
*
|
||||||
|
* @param[out] triplanarUV Coordinates of the fragment in the plane aligned with the dominant axis
|
||||||
|
* @param[out] ddxMax X derivatives of the coordinates of the fragment in the plane aligned with the dominant axis
|
||||||
|
* @param[out] ddyMax Y derivatives of the coordinates of the fragment in the plane aligned with the dominant axis
|
||||||
|
* @param[out] tanToWrld Tangent to world matrix composed of the other two axes as tangent and bitangent, and the mesh normal as the normal
|
||||||
|
* @param wPos World-space position of the fragment
|
||||||
|
* @param wNorm World-space mesh normal
|
||||||
|
* @param dd derivatives of the fragment's coordinates in each axis aligned plane
|
||||||
|
*/
|
||||||
|
void GetTPUVExpensive(out float2 triplanarUV, out half2 ddxMax, out half2 ddyMax, out half3x3 tanToWrld, float3 wPos, half3 wNorm,
|
||||||
|
tpDerivatives dd)
|
||||||
|
{
|
||||||
|
half3 dir;
|
||||||
|
dir.x = abs(wNorm.x) > abs(wNorm.y) && abs(wNorm.x) > abs(wNorm.z) ? 1 : 0;
|
||||||
|
dir.y = abs(wNorm.y) >= abs(wNorm.x) && abs(wNorm.y) > abs(wNorm.z) ? 1 : 0;
|
||||||
|
dir.z = abs(wNorm.z) >= abs(wNorm.y) && abs(wNorm.z) >= abs(wNorm.x) ? 1 : 0;
|
||||||
|
half3 dirSign = sign(wNorm);
|
||||||
|
dirSign.z = -dirSign.z; // u should be flipped on Z
|
||||||
|
ddxMax = dir.x * dd.ddX.xy + dir.y * dd.ddY.xy + dir.z * dd.ddZ.xy;
|
||||||
|
ddyMax = dir.x * dd.ddX.zw + dir.y * dd.ddY.zw + dir.z * dd.ddZ.zw;
|
||||||
|
//half3 maxDir = half3(dirX, dirY, dirZ);
|
||||||
|
float2 uvX = wPos.zy * float2(dirSign.x, 1.0);
|
||||||
|
triplanarUV = dir.x * uvX;
|
||||||
|
float2 uvY = wPos.xz * float2(dirSign.y, 1.0);
|
||||||
|
triplanarUV = mad(dir.y, uvY, triplanarUV);
|
||||||
|
float2 uvZ = wPos.xy * float2(dirSign.z, 1.0);
|
||||||
|
triplanarUV = mad(dir.z, uvZ, triplanarUV);
|
||||||
|
|
||||||
|
|
||||||
|
tanToWrld = half3x3(
|
||||||
|
dir.y * dirSign.y + dir.z * dirSign.z, 0, wNorm.x,
|
||||||
|
0, dir.x + dir.z, wNorm.y,
|
||||||
|
dir.x * dirSign.x, dir.y, wNorm.z
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void GetTPUVCheap(out float2 triplanarUV, out half3x3 tanToWrld, float3 wPos, half3 wNorm)
|
||||||
|
{
|
||||||
|
half3 dir;
|
||||||
|
dir.x = abs(wNorm.x) > abs(wNorm.y) && abs(wNorm.x) > abs(wNorm.z) ? 1 : 0;
|
||||||
|
dir.y = abs(wNorm.y) >= abs(wNorm.x) && abs(wNorm.y) > abs(wNorm.z) ? 1 : 0;
|
||||||
|
dir.z = abs(wNorm.z) >= abs(wNorm.y) && abs(wNorm.z) >= abs(wNorm.x) ? 1 : 0;
|
||||||
|
half3 dirSign = sign(wNorm);
|
||||||
|
dirSign.z = -dirSign.z; // u should be flipped on Z
|
||||||
|
//half3 maxDir = half3(dirX, dirY, dirZ);
|
||||||
|
float2 uvX = wPos.zy * float2(dirSign.x, 1.0);
|
||||||
|
triplanarUV = dir.x * uvX;
|
||||||
|
float2 uvY = wPos.xz * float2(dirSign.y, 1.0);
|
||||||
|
triplanarUV = mad(dir.y, uvY, triplanarUV);
|
||||||
|
float2 uvZ = wPos.xy * float2(dirSign.z, 1.0);
|
||||||
|
triplanarUV = mad(dir.z, uvZ, triplanarUV);
|
||||||
|
|
||||||
|
tanToWrld = half3x3(
|
||||||
|
dir.y * dirSign.y + dir.z * dirSign.z, 0, wNorm.x,
|
||||||
|
0, dir.x + dir.z, wNorm.y,
|
||||||
|
dir.x * dirSign.x, dir.y, wNorm.z
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
7
Assets/SLZShaders/Include/Triplanar.hlsl.meta
Normal file
7
Assets/SLZShaders/Include/Triplanar.hlsl.meta
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 225aec2e7a259b642a9fa1a4d10d7aac
|
||||||
|
ShaderIncludeImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
225
Assets/SLZShaders/Mod2x.shader
Normal file
225
Assets/SLZShaders/Mod2x.shader
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
Shader "SLZ/Mod2x"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
[HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5
|
||||||
|
[HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1)
|
||||||
|
_MainTex("MainTex", 2D) = "gray" {}
|
||||||
|
[HDR]_Color("Color", Color) = (1,1,1,0)
|
||||||
|
_OffsetUnits("OffsetUnits", Int) = -2
|
||||||
|
_OffsetFactor("OffsetFactor", Int) = -2
|
||||||
|
_Multiplier("Multiplier", Float) = 1
|
||||||
|
[Toggle(_ALPHA_ON)] _alpha("alpha", Float) = 0
|
||||||
|
[Toggle(_VERTEXCOLORS_ON)] _VertexColors("VertexColors", Float) = 1
|
||||||
|
// [HideInInspector] _texcoord( "", 2D ) = "white" {}
|
||||||
|
|
||||||
|
// [HideInInspector]_QueueOffset("_QueueOffset", Float) = 0
|
||||||
|
// [HideInInspector]_QueueControl("_QueueControl", Float) = -1
|
||||||
|
// [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
|
||||||
|
// [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
|
||||||
|
// [HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
|
||||||
|
}
|
||||||
|
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
LOD 0
|
||||||
|
|
||||||
|
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent-499" "IgnoreProjector" = "True"}
|
||||||
|
|
||||||
|
Cull Back
|
||||||
|
AlphaToMask Off
|
||||||
|
|
||||||
|
HLSLINCLUDE
|
||||||
|
#pragma target 5.0
|
||||||
|
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/PlatformCompiler.hlsl"
|
||||||
|
ENDHLSL
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
|
||||||
|
Name "Forward"
|
||||||
|
Tags { "LightMode"="UniversalForward" }
|
||||||
|
|
||||||
|
Blend DstColor SrcColor
|
||||||
|
ZWrite Off
|
||||||
|
ZTest LEqual
|
||||||
|
Offset [_OffsetFactor] , [_OffsetUnits]
|
||||||
|
ColorMask RGBA
|
||||||
|
|
||||||
|
HLSLPROGRAM
|
||||||
|
|
||||||
|
#define _RECEIVE_SHADOWS_OFF 1
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#define ASE_SRP_VERSION 999999
|
||||||
|
#define SHADERPASS SHADERPASS_UNLIT
|
||||||
|
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceData.hlsl"
|
||||||
|
|
||||||
|
|
||||||
|
#define ASE_NEEDS_FRAG_COLOR
|
||||||
|
#define ASE_NEEDS_FRAG_WORLD_POSITION
|
||||||
|
#pragma shader_feature _ALPHA_ON
|
||||||
|
#pragma shader_feature _VERTEXCOLORS_ON
|
||||||
|
#pragma multi_compile _ _VOLUMETRICS_ENABLED
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareOpaqueTexture.hlsl"
|
||||||
|
|
||||||
|
|
||||||
|
struct VertexInput
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float3 ase_normal : NORMAL;
|
||||||
|
float4 ase_texcoord : TEXCOORD0;
|
||||||
|
float4 ase_color : COLOR;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct VertexOutput
|
||||||
|
{
|
||||||
|
float4 clipPos : SV_POSITION;
|
||||||
|
float3 worldPos : TEXCOORD0;
|
||||||
|
float fogFactor : TEXCOORD2;
|
||||||
|
float4 ase_texcoord3 : TEXCOORD3;
|
||||||
|
float4 ase_color : COLOR;
|
||||||
|
float4 ase_texcoord4 : TEXCOORD4;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _MainTex_ST;
|
||||||
|
float4 _Color;
|
||||||
|
int _OffsetUnits;
|
||||||
|
int _OffsetFactor;
|
||||||
|
float _Multiplier;
|
||||||
|
CBUFFER_END
|
||||||
|
sampler2D _MainTex;
|
||||||
|
|
||||||
|
shared float _StaticLightMultiplier;
|
||||||
|
|
||||||
|
|
||||||
|
VertexOutput VertexFunction ( VertexInput v )
|
||||||
|
{
|
||||||
|
VertexOutput o = (VertexOutput)0;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz);
|
||||||
|
float4 screenPos = ComputeScreenPos(ase_clipPos);
|
||||||
|
o.ase_texcoord4 = screenPos;
|
||||||
|
o.ase_texcoord3.xy = v.ase_texcoord.xy;
|
||||||
|
o.ase_color = v.ase_color;
|
||||||
|
//setting value to unused interpolator channels and avoid initialization warnings
|
||||||
|
o.ase_texcoord3.zw = 0;
|
||||||
|
v.ase_normal = v.ase_normal;
|
||||||
|
|
||||||
|
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||||
|
float4 positionCS = TransformWorldToHClip( positionWS );
|
||||||
|
|
||||||
|
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||||
|
o.worldPos = positionWS;
|
||||||
|
#endif
|
||||||
|
o.fogFactor = ComputeFogFactor( positionCS.z );
|
||||||
|
o.clipPos = positionCS;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
VertexOutput vert ( VertexInput v )
|
||||||
|
{
|
||||||
|
return VertexFunction( v );
|
||||||
|
}
|
||||||
|
|
||||||
|
half3 Mod2xFog(half3 fragColor, half fogFactor)
|
||||||
|
{
|
||||||
|
#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)
|
||||||
|
half fogIntensity = ComputeFogIntensity(fogFactor);
|
||||||
|
fragColor = lerp(0.5, fragColor, fogIntensity);
|
||||||
|
#endif
|
||||||
|
return fragColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
half4 frag ( VertexOutput IN ) : SV_Target
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID( IN );
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN );
|
||||||
|
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||||
|
float3 WorldPosition = IN.worldPos;
|
||||||
|
#endif
|
||||||
|
float localMyCustomExpression1_g126 = ( 0.0 );
|
||||||
|
float2 uv_MainTex = IN.ase_texcoord3.xy * _MainTex_ST.xy + _MainTex_ST.zw;
|
||||||
|
float4 appendResult52 = (float4(1.0 , 1.0 , 1.0 , IN.ase_color.a));
|
||||||
|
#ifdef _VERTEXCOLORS_ON
|
||||||
|
float4 staticSwitch38 = IN.ase_color;
|
||||||
|
#else
|
||||||
|
float4 staticSwitch38 = appendResult52;
|
||||||
|
#endif
|
||||||
|
float4 temp_output_16_0 = ( tex2D( _MainTex, uv_MainTex ) * _Color * staticSwitch38 );
|
||||||
|
float4 temp_output_26_0 = ( ( ( temp_output_16_0 - .5 ) * _Multiplier ) + 0.5 );
|
||||||
|
#ifdef _ALPHA_ON
|
||||||
|
float4 lerpResult30 = lerp( .5 , temp_output_26_0 , (temp_output_16_0).a);
|
||||||
|
float4 staticSwitch28 = lerpResult30;
|
||||||
|
#else
|
||||||
|
float4 staticSwitch28 = temp_output_26_0;
|
||||||
|
#endif
|
||||||
|
float4 color1_g126 = staticSwitch28;
|
||||||
|
float localMyCustomExpression24_g126 = ( 0.0 );
|
||||||
|
float4 screenPos = IN.ase_texcoord4;
|
||||||
|
float4 ase_screenPosNorm = screenPos / screenPos.w;
|
||||||
|
ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
|
||||||
|
float2 uv24_g126 = (ase_screenPosNorm).xy;
|
||||||
|
|
||||||
|
float3 BakedAlbedo = 0;
|
||||||
|
float3 BakedEmission = 0;
|
||||||
|
float3 Color = color1_g126.xyz;
|
||||||
|
float Alpha = 1;
|
||||||
|
float AlphaClipThreshold = 0.5;
|
||||||
|
float AlphaClipThresholdShadow = 0.5;
|
||||||
|
|
||||||
|
#ifdef _ALPHATEST_ON
|
||||||
|
clip( Alpha - AlphaClipThreshold );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(_ALPHAPREMULTIPLY_ON)
|
||||||
|
Color *= Alpha;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef LOD_FADE_CROSSFADE
|
||||||
|
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Color.rgb = Mod2xFog( Color, IN.fogFactor );
|
||||||
|
|
||||||
|
#if defined(_VOLUMETRICS_ENABLED)
|
||||||
|
//works fine on the PC but not quest. Using a semi-plausible result otherwise.
|
||||||
|
#if !defined(SHADER_API_MOBILE)
|
||||||
|
half3 FroxelColor = GetVolumetricColor(WorldPosition).rgb;
|
||||||
|
Color.rgb = Color.rgb - 0.5* (2.0*Color.rgb - 1.0) * FroxelColor / SampleSceneColor(uv24_g126).rgb;
|
||||||
|
#else
|
||||||
|
half4 FroxelColor = GetVolumetricColor(IN.worldPos);
|
||||||
|
Color.rgb = Color.rgb + (saturate(FroxelColor.rgb)*(0.5-Color.rgb)); //rgb lerp //x + s(y-x)
|
||||||
|
Color.rgb = lerp(0.5, Color , saturate(FroxelColor.a*FroxelColor.a) );
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return half4( Color, Alpha );
|
||||||
|
}
|
||||||
|
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Fallback "Hidden/InternalErrorShader"
|
||||||
|
}
|
10
Assets/SLZShaders/Mod2x.shader.meta
Normal file
10
Assets/SLZShaders/Mod2x.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4c21875978f9ed04d9edcf6d97e9ed54
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3426
Assets/SLZShaders/NullShader.shader
Normal file
3426
Assets/SLZShaders/NullShader.shader
Normal file
File diff suppressed because it is too large
Load diff
12
Assets/SLZShaders/NullShader.shader.meta
Normal file
12
Assets/SLZShaders/NullShader.shader.meta
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b2e867ce46fe95046aaceb0155a651ad
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures:
|
||||||
|
- _BaseMap: {fileID: 2800000, guid: e298abdcd2d10894fba4930f7890c1fc, type: 3}
|
||||||
|
- _WireColor: {fileID: 2800000, guid: 07e40fb4bdc07784493f741d9447821a, type: 3}
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3321
Assets/SLZShaders/OpaqueHologram.shader
Normal file
3321
Assets/SLZShaders/OpaqueHologram.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/OpaqueHologram.shader.meta
Normal file
10
Assets/SLZShaders/OpaqueHologram.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f71cd8ed99405284ab09d18bf11d03ab
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3515
Assets/SLZShaders/ParallaxCubeMap.shader
Normal file
3515
Assets/SLZShaders/ParallaxCubeMap.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/ParallaxCubeMap.shader.meta
Normal file
10
Assets/SLZShaders/ParallaxCubeMap.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 44cd4284ecfc46c4c97f571b3681e0c6
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
2104
Assets/SLZShaders/SLZ-Laser.shader
Normal file
2104
Assets/SLZShaders/SLZ-Laser.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/SLZ-Laser.shader.meta
Normal file
10
Assets/SLZShaders/SLZ-Laser.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f05a5c6a2a705054d8547ebd87b58073
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
2573
Assets/SLZShaders/SLZAnime.shader
Normal file
2573
Assets/SLZShaders/SLZAnime.shader
Normal file
File diff suppressed because it is too large
Load diff
18
Assets/SLZShaders/SLZAnime.shader.meta
Normal file
18
Assets/SLZShaders/SLZAnime.shader.meta
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 97791a0150e87a14bbe1a5d46267be8a
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures:
|
||||||
|
- _BaseMap: {instanceID: 0}
|
||||||
|
- g_tBRDFMap: {instanceID: 0}
|
||||||
|
- _MetallicGlossMap: {fileID: 2800000, guid: 703311043c2b2a14fa1fd24eec4d6b39, type: 3}
|
||||||
|
- _BumpMap: {instanceID: 0}
|
||||||
|
- _texcoord: {instanceID: 0}
|
||||||
|
- unity_Lightmaps: {instanceID: 0}
|
||||||
|
- unity_LightmapsInd: {instanceID: 0}
|
||||||
|
- unity_ShadowMasks: {instanceID: 0}
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3315
Assets/SLZShaders/Scanline.shader
Normal file
3315
Assets/SLZShaders/Scanline.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/Scanline.shader.meta
Normal file
10
Assets/SLZShaders/Scanline.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ae467daa42d17ee45b6947a14ec8ec96
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
1786
Assets/SLZShaders/SimpleSkybox.shader
Normal file
1786
Assets/SLZShaders/SimpleSkybox.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/SimpleSkybox.shader.meta
Normal file
10
Assets/SLZShaders/SimpleSkybox.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7276a03ae0651b1419b50e2c76272732
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
4027
Assets/SLZShaders/TMP_SDF-URP Lit Baked.shader
Normal file
4027
Assets/SLZShaders/TMP_SDF-URP Lit Baked.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/TMP_SDF-URP Lit Baked.shader.meta
Normal file
10
Assets/SLZShaders/TMP_SDF-URP Lit Baked.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 93a4eb99edd7b9c42bfb913f0ee52b3e
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/SLZShaders/Textures.meta
Normal file
8
Assets/SLZShaders/Textures.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca296f3d7b22feb4e81db6271c2350cf
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/SLZShaders/Textures/BloodyHitRamp.png
Normal file
BIN
Assets/SLZShaders/Textures/BloodyHitRamp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
138
Assets/SLZShaders/Textures/BloodyHitRamp.png.meta
Normal file
138
Assets/SLZShaders/Textures/BloodyHitRamp.png.meta
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c96b15076e0088349a95505e52f5a12a
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
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
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 2
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
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: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
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: 51
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 1
|
||||||
|
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: "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ExtraTextureSettings
|
||||||
|
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n
|
||||||
|
<detailMap>false</detailMap>\r\n <hemiOctNormals>true</hemiOctNormals>\r\n
|
||||||
|
<geoRoughness>GenRoughness</geoRoughness>\r\n <geoRoughnessPow>1</geoRoughnessPow>\r\n
|
||||||
|
<dontReadSource>false</dontReadSource>\r\n</ExtraTextureSettings>"
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/SLZShaders/Textures/Pixels_crt-01.png
Normal file
BIN
Assets/SLZShaders/Textures/Pixels_crt-01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
126
Assets/SLZShaders/Textures/Pixels_crt-01.png.meta
Normal file
126
Assets/SLZShaders/Textures/Pixels_crt-01.png.meta
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 81cc8fbe3bd52d149b2b91936b92bfb8
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 1
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 1
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 5
|
||||||
|
mipMapFadeDistanceEnd: 8
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 1
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 2
|
||||||
|
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: 128
|
||||||
|
resizeAlgorithm: 1
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 128
|
||||||
|
resizeAlgorithm: 1
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 128
|
||||||
|
resizeAlgorithm: 1
|
||||||
|
textureFormat: 51
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 1
|
||||||
|
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: "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ExtraTextureSettings
|
||||||
|
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n
|
||||||
|
<detailMap>false</detailMap>\r\n <hemiOctNormals>true</hemiOctNormals>\r\n
|
||||||
|
<geoRoughness>GenRoughness</geoRoughness>\r\n <geoRoughnessPow>1</geoRoughnessPow>\r\n
|
||||||
|
<dontReadSource>false</dontReadSource>\r\n</ExtraTextureSettings>"
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/SLZShaders/Textures/ToonRamp_SSS_strokes_Cleaned.psd
Normal file
BIN
Assets/SLZShaders/Textures/ToonRamp_SSS_strokes_Cleaned.psd
Normal file
Binary file not shown.
138
Assets/SLZShaders/Textures/ToonRamp_SSS_strokes_Cleaned.psd.meta
Normal file
138
Assets/SLZShaders/Textures/ToonRamp_SSS_strokes_Cleaned.psd.meta
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6dc78741d54741a4c90a0fb74bd75f20
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 1
|
||||||
|
sRGBTexture: 0
|
||||||
|
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: 1
|
||||||
|
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: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
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: 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
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 1
|
||||||
|
userData: "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ExtraTextureSettings
|
||||||
|
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n
|
||||||
|
<detailMap>false</detailMap>\r\n <hemiOctNormals>true</hemiOctNormals>\r\n
|
||||||
|
<geoRoughness>GenRoughness</geoRoughness>\r\n <geoRoughnessPow>1</geoRoughnessPow>\r\n
|
||||||
|
<dontReadSource>false</dontReadSource>\r\n</ExtraTextureSettings>"
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/SLZShaders/Textures/metalHitRamp.png
Normal file
BIN
Assets/SLZShaders/Textures/metalHitRamp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 135 KiB |
126
Assets/SLZShaders/Textures/metalHitRamp.png.meta
Normal file
126
Assets/SLZShaders/Textures/metalHitRamp.png.meta
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 93c33570d60341c439e50150832c5173
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 11
|
||||||
|
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
|
||||||
|
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: 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: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
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: 51
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 1
|
||||||
|
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: "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ExtraTextureSettings
|
||||||
|
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n
|
||||||
|
<detailMap>false</detailMap>\r\n <hemiOctNormals>true</hemiOctNormals>\r\n
|
||||||
|
<geoRoughness>GenRoughness</geoRoughness>\r\n <geoRoughnessPow>1</geoRoughnessPow>\r\n
|
||||||
|
<dontReadSource>false</dontReadSource>\r\n</ExtraTextureSettings>"
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3465
Assets/SLZShaders/VR_MotionVectorLit.shader
Normal file
3465
Assets/SLZShaders/VR_MotionVectorLit.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/VR_MotionVectorLit.shader.meta
Normal file
10
Assets/SLZShaders/VR_MotionVectorLit.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4a1250fb7f0da2e4e96bd2e34ce4a8ea
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
3334
Assets/SLZShaders/VR_MotionVectorOpaque.shader
Normal file
3334
Assets/SLZShaders/VR_MotionVectorOpaque.shader
Normal file
File diff suppressed because it is too large
Load diff
10
Assets/SLZShaders/VR_MotionVectorOpaque.shader.meta
Normal file
10
Assets/SLZShaders/VR_MotionVectorOpaque.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 24617ef4b8ecbe74984e0955867cffd4
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
819
Assets/SLZShaders/VR_particleMotionVector_nonAmp.shader
Normal file
819
Assets/SLZShaders/VR_particleMotionVector_nonAmp.shader
Normal file
|
@ -0,0 +1,819 @@
|
||||||
|
Shader "SLZ/Particle/Motion Vector Billboard Correct Shadows"
|
||||||
|
{
|
||||||
|
Properties
|
||||||
|
{
|
||||||
|
[HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5
|
||||||
|
_EmissionColor("Emission Color", Color) = (0,0,0,0)
|
||||||
|
[NoScaleOffset]_MainTex("Main Texture", 2D) = "white" {}
|
||||||
|
[NoScaleOffset]_EmissionMap("Emission Texture", 2D) = "white" {}
|
||||||
|
|
||||||
|
[NoScaleOffset]_MotionVectors("Motion Vectors", 2D) = "white" {}
|
||||||
|
_UVMotionMultiplier("UV Motion Multiplier", Float) = 0
|
||||||
|
_Color("Color", Color) = (1,1,1,1)
|
||||||
|
[Toggle(_BRDFMAP)] BRDFMAP("Enable BRDF map", Float) = 0
|
||||||
|
[NoScaleOffset]g_tBRDFMap("BRDF map", 2D) = "white" {}
|
||||||
|
_Depth("Depth", Float) = 0
|
||||||
|
[ASEEnd][Toggle(_SCALEDEPTHDITHER_ON)] _ScaleDepthDither("Scale Depth Dither", Float) = 0
|
||||||
|
[HideInInspector]_QueueOffset("_QueueOffset", Float) = 0
|
||||||
|
[HideInInspector]_QueueControl("_QueueControl", Float) = -1
|
||||||
|
[HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
|
||||||
|
[HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
|
||||||
|
[HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SubShader
|
||||||
|
{
|
||||||
|
LOD 0
|
||||||
|
Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent" }
|
||||||
|
Cull Back
|
||||||
|
ZWrite Off
|
||||||
|
ZTest LEqual
|
||||||
|
Offset 0 , 0
|
||||||
|
AlphaToMask Off
|
||||||
|
|
||||||
|
HLSLINCLUDE
|
||||||
|
#pragma target 3.0
|
||||||
|
|
||||||
|
#pragma prefer_hlslcc gles
|
||||||
|
#pragma exclude_renderers d3d11_9x
|
||||||
|
#pragma multi_compile
|
||||||
|
|
||||||
|
ENDHLSL
|
||||||
|
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
|
||||||
|
Name "Forward"
|
||||||
|
Tags { "LightMode"="UniversalForward" }
|
||||||
|
|
||||||
|
Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha
|
||||||
|
ColorMask RGBA
|
||||||
|
|
||||||
|
|
||||||
|
HLSLPROGRAM
|
||||||
|
|
||||||
|
#define _NORMAL_DROPOFF_TS 1
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
//#pragma multi_compile _ LOD_FADE_CROSSFADE
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#define ASE_FOG 1
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#define ASE_ABSOLUTE_VERTEX_POS 1
|
||||||
|
#define ASE_SRP_VERSION 120102
|
||||||
|
|
||||||
|
|
||||||
|
// #pragma multi_compile _ _SCREEN_SPACE_OCCLUSION
|
||||||
|
#define _DISABLE_LIGHTMAPS
|
||||||
|
#define _DISABLE_REFLECTIONPROBES
|
||||||
|
#define _DISABLE_SSAO
|
||||||
|
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DefaultLitVariants.hlsl"
|
||||||
|
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
|
||||||
|
#define SHADERPASS SHADERPASS_FORWARD
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
//#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
#define ASE_NEEDS_VERT_POSITION
|
||||||
|
#define ASE_NEEDS_VERT_NORMAL
|
||||||
|
#define ASE_NEEDS_FRAG_COLOR
|
||||||
|
#define ASE_NEEDS_FRAG_SCREEN_POSITION
|
||||||
|
#pragma shader_feature_local _SCALEDEPTHDITHER_ON
|
||||||
|
#pragma shader_feature_local_fragment _BRDFMAP
|
||||||
|
|
||||||
|
#ifndef SHADER_API_MOBILE
|
||||||
|
#define ASE_DEPTH_WRITE_ON
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct VertexInput
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
half3 normal : NORMAL;
|
||||||
|
half4 tangent : TANGENT;
|
||||||
|
float4 texcoord : TEXCOORD0; //uv, uv2
|
||||||
|
float4 texcoord1 : TEXCOORD1; //anim blend, anim frame, center.xy
|
||||||
|
float texcoord2 : TEXCOORD2; //center.z
|
||||||
|
half4 vColor : COLOR;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct VertexOutput
|
||||||
|
{
|
||||||
|
float4 clipPos : SV_POSITION;
|
||||||
|
half4 vColor : COLOR;
|
||||||
|
half4 uv01 : TEXCOORD0;
|
||||||
|
half3 SH : TEXCOORD1;
|
||||||
|
half4 fog_x_vLight_rgb : TEXCOORD2;
|
||||||
|
half4 wNormal_xyz_animBlend_x : TEXCOORD3;
|
||||||
|
float3 wPos : TEXCOORD4;
|
||||||
|
float4 pCenter_xyz_animFrame_x : TEXCOORD5;
|
||||||
|
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||||
|
float4 shadowCoord : TEXCOORD6;
|
||||||
|
#endif
|
||||||
|
#if defined(ASE_NEEDS_FRAG_SCREEN_POSITION)
|
||||||
|
float4 screenPos : TEXCOORD7;
|
||||||
|
#endif
|
||||||
|
#if defined(DYNAMICLIGHTMAP_ON)
|
||||||
|
float2 dynamicLightmapUV : TEXCOORD8;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _Color;
|
||||||
|
float4 _EmissionColor;
|
||||||
|
float _UVMotionMultiplier;
|
||||||
|
float _Depth;
|
||||||
|
|
||||||
|
CBUFFER_END
|
||||||
|
Texture2D _MainTex; SamplerState sampler_MainTex;
|
||||||
|
Texture2D _EmissionMap; SamplerState sampler_EmissionMap;
|
||||||
|
Texture2D _MotionVectors; SamplerState sampler_MotionVectors;
|
||||||
|
TEXTURE2D_ARRAY(_SLZ_DitherTex2D);
|
||||||
|
int NoisePixels;
|
||||||
|
int _SLZ_TexSel;
|
||||||
|
int NoiseArraySize;
|
||||||
|
SAMPLER(sampler_SLZ_DitherTex2D);
|
||||||
|
|
||||||
|
|
||||||
|
inline float4 ASE_ComputeGrabScreenPos( float4 pos )
|
||||||
|
{
|
||||||
|
#if UNITY_UV_STARTS_AT_TOP
|
||||||
|
float scale = -1.0;
|
||||||
|
#else
|
||||||
|
float scale = 1.0;
|
||||||
|
#endif
|
||||||
|
float4 o = pos;
|
||||||
|
o.y = pos.w * 0.5f;
|
||||||
|
o.y = ( pos.y - o.y ) * _ProjectionParams.x * scale + o.y;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VertexOutput VertexFunction( VertexInput v )
|
||||||
|
{
|
||||||
|
VertexOutput o = (VertexOutput)0;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
|
||||||
|
|
||||||
|
|
||||||
|
float3 particleCenter = float3(v.texcoord1.z , v.texcoord1.w , v.texcoord2.x);
|
||||||
|
v.vertex.xyz = particle_face_camera(v.vertex.xyz , v.normal, particleCenter);
|
||||||
|
|
||||||
|
o.vColor = v.vColor;
|
||||||
|
o.uv01 = v.texcoord;
|
||||||
|
|
||||||
|
|
||||||
|
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||||
|
float4 positionCS = TransformWorldToHClip( positionWS );
|
||||||
|
|
||||||
|
o.wPos = positionWS;
|
||||||
|
|
||||||
|
VertexNormalInputs normalInput = GetVertexNormalInputs( v.normal, v.tangent );
|
||||||
|
|
||||||
|
o.wNormal_xyz_animBlend_x = half4(normalInput.normalWS.xyz, v.texcoord1.x);
|
||||||
|
o.pCenter_xyz_animFrame_x = float4(v.texcoord1.zw, v.texcoord2.x, v.texcoord1.y);
|
||||||
|
|
||||||
|
#if defined(DYNAMICLIGHTMAP_ON)
|
||||||
|
o.dynamicLightmapUV.xy = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(LIGHTMAP_ON)
|
||||||
|
OUTPUT_SH( normalInput.normalWS.xyz, o.SH.xyz );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
half3 vertexLight = VertexLighting( positionWS, normalInput.normalWS );
|
||||||
|
|
||||||
|
#ifdef ASE_FOG
|
||||||
|
half fogFactor = ComputeFogFactor( positionCS.z );
|
||||||
|
#else
|
||||||
|
half fogFactor = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
o.fog_x_vLight_rgb = half4(fogFactor, vertexLight);
|
||||||
|
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||||
|
VertexPositionInputs vertexInput = (VertexPositionInputs)0;
|
||||||
|
vertexInput.positionWS = positionWS;
|
||||||
|
vertexInput.positionCS = positionCS;
|
||||||
|
o.shadowCoord = GetShadowCoord( vertexInput );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
o.clipPos = positionCS;
|
||||||
|
#if defined(ASE_NEEDS_FRAG_SCREEN_POSITION)
|
||||||
|
o.screenPos = ComputeScreenPos(positionCS);
|
||||||
|
#endif
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VertexOutput vert ( VertexInput v )
|
||||||
|
{
|
||||||
|
return VertexFunction( v );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE)
|
||||||
|
#define ASE_SV_DEPTH SV_DepthLessEqual
|
||||||
|
#else
|
||||||
|
#define ASE_SV_DEPTH SV_Depth
|
||||||
|
#endif
|
||||||
|
|
||||||
|
half4 frag ( VertexOutput IN
|
||||||
|
#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
,out float outputDepth : ASE_SV_DEPTH
|
||||||
|
#endif
|
||||||
|
) : SV_Target
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID(IN);
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(IN);
|
||||||
|
|
||||||
|
#ifdef LOD_FADE_CROSSFADE
|
||||||
|
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
half3 WorldNormal = normalize( IN.wNormal_xyz_animBlend_x.xyz);
|
||||||
|
|
||||||
|
float3 WorldPosition = IN.wPos;
|
||||||
|
float3 WorldViewDirection = _WorldSpaceCameraPos.xyz - WorldPosition;
|
||||||
|
float4 ShadowCoords = float4( 0, 0, 0, 0 );
|
||||||
|
|
||||||
|
#if defined(ASE_NEEDS_FRAG_SCREEN_POSITION)
|
||||||
|
float4 ScreenPos = IN.screenPos;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WorldViewDirection = SafeNormalize( WorldViewDirection );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
half animBlend = IN.wNormal_xyz_animBlend_x.w;
|
||||||
|
float animFrame = IN.pCenter_xyz_animFrame_x.w;
|
||||||
|
|
||||||
|
float2 motionVectorOffset1 = (SAMPLE_TEXTURE2D( _MotionVectors, sampler_MotionVectors, IN.uv01.xy).rg - 0.5 ) * animBlend * -_UVMotionMultiplier;
|
||||||
|
float2 motionVectorOffset2 = (SAMPLE_TEXTURE2D( _MotionVectors, sampler_MotionVectors, IN.uv01.zw).rg - 0.5 ) * ( 1.0 - animBlend ) * _UVMotionMultiplier;
|
||||||
|
|
||||||
|
float4 albedo = lerp( SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, IN.uv01.xy + motionVectorOffset1),
|
||||||
|
SAMPLE_TEXTURE2D( _MainTex, sampler_MainTex, IN.uv01.zw + motionVectorOffset2), animBlend);
|
||||||
|
albedo = IN.vColor * albedo * _Color;
|
||||||
|
|
||||||
|
float4 emission = lerp( SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, IN.uv01.xy + motionVectorOffset1),
|
||||||
|
SAMPLE_TEXTURE2D( _EmissionMap, sampler_EmissionMap, IN.uv01.zw + motionVectorOffset2), animBlend);
|
||||||
|
|
||||||
|
|
||||||
|
float4 ase_grabScreenPos = ASE_ComputeGrabScreenPos( ScreenPos );
|
||||||
|
float4 ase_grabScreenPosNorm = ase_grabScreenPos / ase_grabScreenPos.w;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _SCALEDEPTHDITHER_ON
|
||||||
|
float staticSwitch72 = ( _Depth * IN.uv01.z );
|
||||||
|
#else
|
||||||
|
float staticSwitch72 = _Depth;
|
||||||
|
#endif
|
||||||
|
float2 depthDitherUV = ase_grabScreenPosNorm.xy * _ScreenParams.xy / NoisePixels;
|
||||||
|
float depthDitherIndex = fmod((float)_SLZ_TexSel + floor((float)NoiseArraySize * animFrame) , (float)NoiseArraySize);
|
||||||
|
float clipOffset = (SAMPLE_TEXTURE2D_ARRAY( _SLZ_DitherTex2D, sampler_SLZ_DitherTex2D, depthDitherUV , depthDitherIndex).r - 0.5) * staticSwitch72;
|
||||||
|
float offsetClipW = ( IN.clipPos.w + clipOffset);
|
||||||
|
|
||||||
|
float3 Albedo = albedo.rgb;
|
||||||
|
float3 Normal = float3(0, 0, 1);
|
||||||
|
float3 Emission = (emission*_EmissionColor).rgb;
|
||||||
|
#if 0
|
||||||
|
float3 BakedEmission = 0;
|
||||||
|
#endif
|
||||||
|
float3 Specular = 0.5;
|
||||||
|
float Metallic = 0;
|
||||||
|
float Smoothness = 0.5;
|
||||||
|
float Occlusion = 1;
|
||||||
|
float Alpha = albedo.a;
|
||||||
|
float AlphaClipThreshold = 0.5;
|
||||||
|
float AlphaClipThresholdShadow = 0.5;
|
||||||
|
float3 BakedGI = 0;
|
||||||
|
float3 RefractionColor = 1;
|
||||||
|
float RefractionIndex = 1;
|
||||||
|
float3 Transmission = 1;
|
||||||
|
float3 Translucency = 1;
|
||||||
|
//#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
float DepthValue = ( ( 1.0 - ( offsetClipW * _ZBufferParams.w ) ) / ( offsetClipW * _ZBufferParams.z ) );
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
#ifdef _CLEARCOAT
|
||||||
|
float CoatMask = 0;
|
||||||
|
float CoatSmoothness = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _ALPHATEST_ON
|
||||||
|
clip(Alpha - AlphaClipThreshold);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
InputData inputData = (InputData)0;
|
||||||
|
inputData.positionWS = WorldPosition;
|
||||||
|
inputData.viewDirectionWS = WorldViewDirection;
|
||||||
|
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||||
|
inputData.shadowCoord = IN.shadowCoord;
|
||||||
|
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||||
|
float depthZ = Linear01Depth(DepthValue, _ZBufferParams) * (_ProjectionParams.z - _ProjectionParams.y) + _ProjectionParams.y;
|
||||||
|
float3 shadowPos = WorldViewDirection * (depthZ / -(dot(WorldViewDirection, UNITY_MATRIX_V._m20_m21_m22))) + _WorldSpaceCameraPos;
|
||||||
|
inputData.shadowCoord = TransformWorldToShadowCoord(shadowPos);
|
||||||
|
#else
|
||||||
|
inputData.shadowCoord = float4(0, 0, 0, 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _NORMALMAP
|
||||||
|
#if _NORMAL_DROPOFF_TS
|
||||||
|
inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal ));
|
||||||
|
#elif _NORMAL_DROPOFF_OS
|
||||||
|
inputData.normalWS = TransformObjectToWorldNormal(Normal);
|
||||||
|
#elif _NORMAL_DROPOFF_WS
|
||||||
|
inputData.normalWS = Normal;
|
||||||
|
#endif
|
||||||
|
inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS);
|
||||||
|
#else
|
||||||
|
inputData.normalWS = WorldNormal;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef ASE_FOG
|
||||||
|
inputData.fogCoord = IN.fog_x_vLight_rgb.x;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inputData.vertexLighting = IN.fog_x_vLight_rgb.yzw;
|
||||||
|
#if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL)
|
||||||
|
float3 SH = SampleSH(inputData.normalWS.xyz);
|
||||||
|
#else
|
||||||
|
float3 SH = IN.SH.xyz;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(DYNAMICLIGHTMAP_ON)
|
||||||
|
|
||||||
|
#ifdef LIGHTMAP_ON
|
||||||
|
float4 encodedGI = SAMPLE_GI_DIR(IN.SH.xyz, IN.dynamicLightmapUV.xy, IN.vertexSH, inputData.normalWS, Smoothness, WorldViewDirection);
|
||||||
|
inputData.bakedGI = encodedGI.rgb;
|
||||||
|
float BakedSpecular = encodedGI.w;
|
||||||
|
|
||||||
|
#else
|
||||||
|
inputData.bakedGI = SAMPLE_GI(IN.SH.xy, IN.dynamicLightmapUV.xy, IN.vertexSH , inputData.normalWS);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
#ifdef LIGHTMAP_ON
|
||||||
|
float4 encodedGI = SAMPLE_GI_DIR(IN.SH.xy, IN.lightmapUVOrVertexSH.xyz, inputData.normalWS, Smoothness, WorldViewDirection);
|
||||||
|
inputData.bakedGI = encodedGI.rgb;
|
||||||
|
float BakedSpecular = encodedGI.w;
|
||||||
|
|
||||||
|
#else
|
||||||
|
inputData.bakedGI = SAMPLE_GI(IN.SH.xy, IN.SH.xyz, inputData.normalWS);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _ASE_BAKEDGI
|
||||||
|
inputData.bakedGI = BakedGI;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inputData.normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(IN.clipPos);
|
||||||
|
inputData.shadowMask = SAMPLE_SHADOWMASK(IN.lightmapUVOrVertexSH.xy);
|
||||||
|
|
||||||
|
#if defined(DEBUG_DISPLAY)
|
||||||
|
#if defined(DYNAMICLIGHTMAP_ON)
|
||||||
|
inputData.dynamicLightmapUV = IN.dynamicLightmapUV.xy;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(LIGHTMAP_ON)
|
||||||
|
inputData.staticLightmapUV = IN.lightmapUVOrVertexSH.xy;
|
||||||
|
#else
|
||||||
|
inputData.vertexSH = SH;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SurfaceData surfaceData;
|
||||||
|
surfaceData.albedo = Albedo;
|
||||||
|
surfaceData.metallic = saturate(Metallic);
|
||||||
|
surfaceData.specular = Specular;
|
||||||
|
surfaceData.smoothness = saturate(Smoothness),
|
||||||
|
surfaceData.occlusion = Occlusion,
|
||||||
|
surfaceData.emission = Emission,
|
||||||
|
surfaceData.alpha = saturate(Alpha);
|
||||||
|
surfaceData.normalTS = Normal;
|
||||||
|
surfaceData.clearCoatMask = 0;
|
||||||
|
surfaceData.clearCoatSmoothness = 1;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _CLEARCOAT
|
||||||
|
surfaceData.clearCoatMask = saturate(CoatMask);
|
||||||
|
surfaceData.clearCoatSmoothness = saturate(CoatSmoothness);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _DBUFFER
|
||||||
|
ApplyDecalToSurfaceData(IN.clipPos, surfaceData, inputData);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
half4 color = UniversalFragmentPBR( inputData, surfaceData);
|
||||||
|
|
||||||
|
#ifdef LIGHTMAP_ON
|
||||||
|
float3 MetalSpec = lerp(kDieletricSpec.rgb, surfaceData.albedo , surfaceData.metallic);
|
||||||
|
color.rgb += BakedSpecular * surfaceData.occlusion * MetalSpec * inputData.bakedGI.rgb;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _TRANSMISSION_ASE
|
||||||
|
{
|
||||||
|
float shadow = _TransmissionShadow;
|
||||||
|
|
||||||
|
Light mainLight = GetMainLight( inputData.shadowCoord );
|
||||||
|
float3 mainAtten = mainLight.color * mainLight.distanceAttenuation;
|
||||||
|
mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow );
|
||||||
|
half3 mainTransmission = max(0 , -dot(inputData.normalWS, mainLight.direction)) * mainAtten * Transmission;
|
||||||
|
color.rgb += Albedo * mainTransmission;
|
||||||
|
|
||||||
|
#ifdef _ADDITIONAL_LIGHTS
|
||||||
|
int transPixelLightCount = GetAdditionalLightsCount();
|
||||||
|
for (int i = 0; i < transPixelLightCount; ++i)
|
||||||
|
{
|
||||||
|
Light light = GetAdditionalLight(i, inputData.positionWS);
|
||||||
|
float3 atten = light.color * light.distanceAttenuation;
|
||||||
|
atten = lerp( atten, atten * light.shadowAttenuation, shadow );
|
||||||
|
|
||||||
|
half3 transmission = max(0 , -dot(inputData.normalWS, light.direction)) * atten * Transmission;
|
||||||
|
color.rgb += Albedo * transmission;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _TRANSLUCENCY_ASE
|
||||||
|
{
|
||||||
|
float shadow = _TransShadow;
|
||||||
|
float normal = _TransNormal;
|
||||||
|
float scattering = _TransScattering;
|
||||||
|
float direct = _TransDirect;
|
||||||
|
float ambient = _TransAmbient;
|
||||||
|
float strength = _TransStrength;
|
||||||
|
|
||||||
|
Light mainLight = GetMainLight( inputData.shadowCoord );
|
||||||
|
float3 mainAtten = mainLight.color * mainLight.distanceAttenuation;
|
||||||
|
mainAtten = lerp( mainAtten, mainAtten * mainLight.shadowAttenuation, shadow );
|
||||||
|
|
||||||
|
half3 mainLightDir = mainLight.direction + inputData.normalWS * normal;
|
||||||
|
half mainVdotL = pow( saturate( dot( inputData.viewDirectionWS, -mainLightDir ) ), scattering );
|
||||||
|
half3 mainTranslucency = mainAtten * ( mainVdotL * direct + inputData.bakedGI * ambient ) * Translucency;
|
||||||
|
color.rgb += Albedo * mainTranslucency * strength;
|
||||||
|
|
||||||
|
#ifdef _ADDITIONAL_LIGHTS
|
||||||
|
int transPixelLightCount = GetAdditionalLightsCount();
|
||||||
|
for (int i = 0; i < transPixelLightCount; ++i)
|
||||||
|
{
|
||||||
|
Light light = GetAdditionalLight(i, inputData.positionWS);
|
||||||
|
float3 atten = light.color * light.distanceAttenuation;
|
||||||
|
atten = lerp( atten, atten * light.shadowAttenuation, shadow );
|
||||||
|
|
||||||
|
half3 lightDir = light.direction + inputData.normalWS * normal;
|
||||||
|
half VdotL = pow( saturate( dot( inputData.viewDirectionWS, -lightDir ) ), scattering );
|
||||||
|
half3 translucency = atten * ( VdotL * direct + inputData.bakedGI * ambient ) * Translucency;
|
||||||
|
color.rgb += Albedo * translucency * strength;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _REFRACTION_ASE
|
||||||
|
float4 projScreenPos = ScreenPos / ScreenPos.w;
|
||||||
|
float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) );
|
||||||
|
projScreenPos.xy += refractionOffset.xy;
|
||||||
|
float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor;
|
||||||
|
color.rgb = lerp( refraction, color.rgb, color.a );
|
||||||
|
color.a = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY
|
||||||
|
color.rgb *= color.a;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ASE_FOG
|
||||||
|
#ifdef TERRAIN_SPLAT_ADDPASS
|
||||||
|
color.rgb = MixFogColor(color.rgb, half3( 0, 0, 0 ), IN.fog_x_vLight_rgb.x );
|
||||||
|
#else
|
||||||
|
color.rgb = MixFog(color.rgb, -inputData.viewDirectionWS, IN.fog_x_vLight_rgb.x);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
color = Volumetrics( color, inputData.positionWS);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
outputDepth = DepthValue;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Pass
|
||||||
|
{
|
||||||
|
|
||||||
|
Name "ShadowCaster"
|
||||||
|
Tags { "LightMode"="ShadowCaster" }
|
||||||
|
|
||||||
|
ZWrite On
|
||||||
|
ZTest LEqual
|
||||||
|
AlphaToMask Off
|
||||||
|
ColorMask 0
|
||||||
|
|
||||||
|
HLSLPROGRAM
|
||||||
|
|
||||||
|
#define _NORMAL_DROPOFF_TS 1
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
#define ASE_FOG 1
|
||||||
|
#pragma multi_compile_fragment _ _VOLUMETRICS_ENABLED
|
||||||
|
#define ASE_ABSOLUTE_VERTEX_POS 1
|
||||||
|
#define ASE_SRP_VERSION 120102
|
||||||
|
|
||||||
|
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
|
||||||
|
#pragma multi_compile _ _CASTING_PUNCTUAL_LIGHT_SHADOW
|
||||||
|
|
||||||
|
#define SHADERPASS SHADERPASS_SHADOWCASTER
|
||||||
|
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl"
|
||||||
|
#include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl"
|
||||||
|
|
||||||
|
#include "Include/Particle/billboard.hlsl"
|
||||||
|
#define ASE_NEEDS_VERT_POSITION
|
||||||
|
#define ASE_NEEDS_VERT_NORMAL
|
||||||
|
#pragma shader_feature_local _SCALEDEPTHDITHER_ON
|
||||||
|
|
||||||
|
#ifndef SHADER_API_MOBILE
|
||||||
|
#define ASE_DEPTH_WRITE_ON
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
struct VertexInput
|
||||||
|
{
|
||||||
|
float4 vertex : POSITION;
|
||||||
|
float3 ase_normal : NORMAL;
|
||||||
|
float4 ase_texcoord1 : TEXCOORD1;
|
||||||
|
float4 ase_texcoord2 : TEXCOORD2;
|
||||||
|
float4 ase_color : COLOR;
|
||||||
|
float4 ase_texcoord : TEXCOORD0;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
};
|
||||||
|
|
||||||
|
struct VertexOutput
|
||||||
|
{
|
||||||
|
float4 clipPos : SV_POSITION;
|
||||||
|
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||||
|
float3 worldPos : TEXCOORD0;
|
||||||
|
#endif
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||||
|
float4 shadowCoord : TEXCOORD1;
|
||||||
|
#endif
|
||||||
|
float4 ase_color : COLOR;
|
||||||
|
float4 ase_texcoord2 : TEXCOORD2;
|
||||||
|
float4 ase_texcoord3 : TEXCOORD3;
|
||||||
|
float4 ase_texcoord4 : TEXCOORD4;
|
||||||
|
float4 ase_texcoord5 : TEXCOORD5;
|
||||||
|
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||||
|
UNITY_VERTEX_OUTPUT_STEREO
|
||||||
|
};
|
||||||
|
|
||||||
|
CBUFFER_START(UnityPerMaterial)
|
||||||
|
float4 _Color;
|
||||||
|
float _UVMotionMultiplier;
|
||||||
|
float _Depth;
|
||||||
|
#ifdef _TRANSMISSION_ASE
|
||||||
|
float _TransmissionShadow;
|
||||||
|
#endif
|
||||||
|
#ifdef _TRANSLUCENCY_ASE
|
||||||
|
float _TransStrength;
|
||||||
|
float _TransNormal;
|
||||||
|
float _TransScattering;
|
||||||
|
float _TransDirect;
|
||||||
|
float _TransAmbient;
|
||||||
|
float _TransShadow;
|
||||||
|
#endif
|
||||||
|
#ifdef TESSELLATION_ON
|
||||||
|
float _TessPhongStrength;
|
||||||
|
float _TessValue;
|
||||||
|
float _TessMin;
|
||||||
|
float _TessMax;
|
||||||
|
float _TessEdgeLength;
|
||||||
|
float _TessMaxDisp;
|
||||||
|
#endif
|
||||||
|
CBUFFER_END
|
||||||
|
sampler2D _MainTex;
|
||||||
|
sampler2D _MotionVectors;
|
||||||
|
TEXTURE2D_ARRAY(_SLZ_DitherTex2D);
|
||||||
|
int NoisePixels;
|
||||||
|
int _SLZ_TexSel;
|
||||||
|
int NoiseArraySize;
|
||||||
|
SAMPLER(sampler_SLZ_DitherTex2D);
|
||||||
|
|
||||||
|
|
||||||
|
inline float4 ASE_ComputeGrabScreenPos( float4 pos )
|
||||||
|
{
|
||||||
|
#if UNITY_UV_STARTS_AT_TOP
|
||||||
|
float scale = -1.0;
|
||||||
|
#else
|
||||||
|
float scale = 1.0;
|
||||||
|
#endif
|
||||||
|
float4 o = pos;
|
||||||
|
o.y = pos.w * 0.5f;
|
||||||
|
o.y = ( pos.y - o.y ) * _ProjectionParams.x * scale + o.y;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float3 _LightDirection;
|
||||||
|
float3 _LightPosition;
|
||||||
|
|
||||||
|
VertexOutput VertexFunction( VertexInput v )
|
||||||
|
{
|
||||||
|
VertexOutput o;
|
||||||
|
UNITY_SETUP_INSTANCE_ID(v);
|
||||||
|
UNITY_TRANSFER_INSTANCE_ID(v, o);
|
||||||
|
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
|
||||||
|
|
||||||
|
float4 vertex84 = float4( v.vertex.xyz , 0.0 );
|
||||||
|
float3 normal84 = v.ase_normal;
|
||||||
|
float3 tangent84 = float3( 0,0,0 );
|
||||||
|
float3 appendResult88 = (float3(v.ase_texcoord1.z , v.ase_texcoord1.w , v.ase_texcoord2.x));
|
||||||
|
float3 center84 = appendResult88;
|
||||||
|
float3 localparticle_face_camera84 = particle_face_camera( vertex84 , normal84, center84 );
|
||||||
|
|
||||||
|
float4 ase_clipPos = TransformObjectToHClip((v.vertex).xyz);
|
||||||
|
float4 screenPos = ComputeScreenPos(ase_clipPos);
|
||||||
|
o.ase_texcoord5 = screenPos;
|
||||||
|
|
||||||
|
o.ase_color = v.ase_color;
|
||||||
|
o.ase_texcoord2 = v.ase_texcoord;
|
||||||
|
o.ase_texcoord3 = v.ase_texcoord1;
|
||||||
|
o.ase_texcoord4 = v.vertex;
|
||||||
|
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||||
|
float3 defaultVertexValue = v.vertex.xyz;
|
||||||
|
#else
|
||||||
|
float3 defaultVertexValue = float3(0, 0, 0);
|
||||||
|
#endif
|
||||||
|
float3 vertexValue = localparticle_face_camera84;
|
||||||
|
#ifdef ASE_ABSOLUTE_VERTEX_POS
|
||||||
|
v.vertex.xyz = vertexValue;
|
||||||
|
#else
|
||||||
|
v.vertex.xyz += vertexValue;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
v.ase_normal = normal84;
|
||||||
|
|
||||||
|
float3 positionWS = TransformObjectToWorld( v.vertex.xyz );
|
||||||
|
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||||
|
o.worldPos = positionWS;
|
||||||
|
#endif
|
||||||
|
float3 normalWS = TransformObjectToWorldDir(v.ase_normal);
|
||||||
|
|
||||||
|
|
||||||
|
#if _CASTING_PUNCTUAL_LIGHT_SHADOW
|
||||||
|
float3 lightDirectionWS = normalize(_LightPosition - positionWS);
|
||||||
|
#else
|
||||||
|
float3 lightDirectionWS = _LightDirection;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float4 clipPos = ApplySLZShadowBias(positionWS, normalWS, lightDirectionWS);
|
||||||
|
|
||||||
|
#if UNITY_REVERSED_Z
|
||||||
|
clipPos.z = min(clipPos.z, UNITY_NEAR_CLIP_VALUE);
|
||||||
|
#else
|
||||||
|
clipPos.z = max(clipPos.z, UNITY_NEAR_CLIP_VALUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||||
|
VertexPositionInputs vertexInput = (VertexPositionInputs)0;
|
||||||
|
vertexInput.positionWS = positionWS;
|
||||||
|
vertexInput.positionCS = clipPos;
|
||||||
|
o.shadowCoord = GetShadowCoord( vertexInput );
|
||||||
|
#endif
|
||||||
|
o.clipPos = clipPos;
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
VertexOutput vert ( VertexInput v )
|
||||||
|
{
|
||||||
|
return VertexFunction( v );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE)
|
||||||
|
#define ASE_SV_DEPTH SV_DepthLessEqual
|
||||||
|
#else
|
||||||
|
#define ASE_SV_DEPTH SV_Depth
|
||||||
|
#endif
|
||||||
|
|
||||||
|
half4 frag( VertexOutput IN
|
||||||
|
#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
,out float outputDepth : ASE_SV_DEPTH
|
||||||
|
#endif
|
||||||
|
) : SV_TARGET
|
||||||
|
{
|
||||||
|
UNITY_SETUP_INSTANCE_ID( IN );
|
||||||
|
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN );
|
||||||
|
|
||||||
|
#if defined(ASE_NEEDS_FRAG_WORLD_POSITION)
|
||||||
|
float3 WorldPosition = IN.worldPos;
|
||||||
|
#endif
|
||||||
|
float4 ShadowCoords = float4( 0, 0, 0, 0 );
|
||||||
|
|
||||||
|
#if defined(ASE_NEEDS_FRAG_SHADOWCOORDS)
|
||||||
|
#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)
|
||||||
|
ShadowCoords = IN.shadowCoord;
|
||||||
|
#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
||||||
|
ShadowCoords = TransformWorldToShadowCoord( WorldPosition );
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
float2 temp_output_8_0 = (IN.ase_texcoord2).xy;
|
||||||
|
float4 temp_cast_1 = (0.5).xxxx;
|
||||||
|
float2 temp_output_9_0 = (IN.ase_texcoord2).zw;
|
||||||
|
float4 temp_cast_4 = (0.5).xxxx;
|
||||||
|
float4 lerpResult4 = lerp( tex2D( _MainTex, ( float4( temp_output_8_0, 0.0 , 0.0 ) + ( ( tex2D( _MotionVectors, temp_output_8_0 ) - temp_cast_1 ) * IN.ase_texcoord3.xyz.x * -_UVMotionMultiplier ) ).rg ) , tex2D( _MainTex, ( float4( temp_output_9_0, 0.0 , 0.0 ) + ( ( tex2D( _MotionVectors, temp_output_9_0 ) - temp_cast_4 ) * ( 1.0 - IN.ase_texcoord3.xyz.x ) * -1.0 * -_UVMotionMultiplier ) ).rg ) , IN.ase_texcoord3.xyz.x);
|
||||||
|
float4 temp_output_11_0 = ( IN.ase_color * lerpResult4 * _Color );
|
||||||
|
|
||||||
|
float4 unityObjectToClipPos92 = TransformWorldToHClip(TransformObjectToWorld(IN.ase_texcoord4.xyz));
|
||||||
|
float4 screenPos = IN.ase_texcoord5;
|
||||||
|
float4 ase_grabScreenPos = ASE_ComputeGrabScreenPos( screenPos );
|
||||||
|
float4 ase_grabScreenPosNorm = ase_grabScreenPos / ase_grabScreenPos.w;
|
||||||
|
float4 temp_cast_8 = (0.5).xxxx;
|
||||||
|
#ifdef _SCALEDEPTHDITHER_ON
|
||||||
|
float staticSwitch72 = ( _Depth * IN.ase_texcoord3.xyz.z );
|
||||||
|
#else
|
||||||
|
float staticSwitch72 = _Depth;
|
||||||
|
#endif
|
||||||
|
float temp_output_4_0_g44 = ( unityObjectToClipPos92.w + ( ( SAMPLE_TEXTURE2D_ARRAY( _SLZ_DitherTex2D, sampler_SLZ_DitherTex2D, ( (ase_grabScreenPosNorm).xy * ( (_ScreenParams).xy / NoisePixels ) ),(float)( ( _SLZ_TexSel + (int)( NoiseArraySize * IN.ase_texcoord3.xyz.y ) ) % NoiseArraySize ) ) - temp_cast_8 ) * staticSwitch72 ).r );
|
||||||
|
|
||||||
|
float Alpha = (temp_output_11_0).a;
|
||||||
|
float AlphaClipThreshold = 0.5;
|
||||||
|
float AlphaClipThresholdShadow = 0.5;
|
||||||
|
#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
float DepthValue = ( ( 1.0 - ( temp_output_4_0_g44 * _ZBufferParams.w ) ) / ( temp_output_4_0_g44 * _ZBufferParams.z ) );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _ALPHATEST_ON
|
||||||
|
#ifdef _ALPHATEST_SHADOW_ON
|
||||||
|
clip(Alpha - AlphaClipThresholdShadow);
|
||||||
|
#else
|
||||||
|
clip(Alpha - AlphaClipThreshold);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef LOD_FADE_CROSSFADE
|
||||||
|
LODDitheringTransition( IN.clipPos.xyz, unity_LODFade.x );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef ASE_DEPTH_WRITE_ON
|
||||||
|
outputDepth = DepthValue;
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomEditor "UnityEditor.ShaderGraphLitGUI"
|
||||||
|
Fallback "Hidden/InternalErrorShader"
|
||||||
|
|
||||||
|
}
|
10
Assets/SLZShaders/VR_particleMotionVector_nonAmp.shader.meta
Normal file
10
Assets/SLZShaders/VR_particleMotionVector_nonAmp.shader.meta
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a0cae63ef60b7da4f9cb90b8cdb4ce4e
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
preprocessorOverride: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
27
Assets/UniversalRenderPipelineGlobalSettings.asset
Normal file
27
Assets/UniversalRenderPipelineGlobalSettings.asset
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2ec995e51a6e251468d2a3fd8a686257, type: 3}
|
||||||
|
m_Name: UniversalRenderPipelineGlobalSettings
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
k_AssetVersion: 2
|
||||||
|
lightLayerName0: Light Layer default
|
||||||
|
lightLayerName1: Light Layer 1
|
||||||
|
lightLayerName2: Light Layer 2
|
||||||
|
lightLayerName3: Light Layer 3
|
||||||
|
lightLayerName4: Light Layer 4
|
||||||
|
lightLayerName5: Light Layer 5
|
||||||
|
lightLayerName6: Light Layer 6
|
||||||
|
lightLayerName7: Light Layer 7
|
||||||
|
m_StripDebugVariants: 1
|
||||||
|
m_StripUnusedPostProcessingVariants: 0
|
||||||
|
m_StripUnusedVariants: 1
|
||||||
|
supportRuntimeDebugDisplay: 0
|
8
Assets/UniversalRenderPipelineGlobalSettings.asset.meta
Normal file
8
Assets/UniversalRenderPipelineGlobalSettings.asset.meta
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7854839073f855740851081b9422a1bf
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue