Unified Volumetric Flow

Fixed towing system
Tweaked Nebula Flow (a lot)
Extracted environment appearance settings into ZoneEnvironment data structure
Stardust particles now follow global flow field
This commit is contained in:
Reinier Vens 2021-06-18 12:32:03 +01:00
commit 00f752edf7
39 changed files with 812 additions and 341 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<WwiseDocument Type="WorkUnit" ID="{57D7F7EA-A41D-4B60-BBFE-8E62F7C303A8}" SchemaVersion="103">
<WwiseDocument Type="WorkUnit" ID="{BBB24DC4-47C4-4DC8-8405-BED161E8A8D9}" SchemaVersion="103">
<AudioObjects>
<WorkUnit Name="UI" ID="{57D7F7EA-A41D-4B60-BBFE-8E62F7C303A8}" PersistMode="Standalone">
<WorkUnit Name="UI" ID="{BBB24DC4-47C4-4DC8-8405-BED161E8A8D9}" PersistMode="Standalone">
<ChildrenList>
<Sound Name="blip2" ID="{B86B7D38-A9E2-4F1D-AF93-9256FEBA8749}" ShortID="523228555">
<ReferenceList>

View file

@ -4,7 +4,7 @@
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Triggers\Default Work Unit.wwu" DateLow="1621690803" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Switches\Default Work Unit.wwu" DateLow="1621690803" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\States\Default Work Unit.wwu" DateLow="1621690803" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Soundcaster Sessions\Default Work Unit.wwu" DateLow="1621690803" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Soundcaster Sessions\Default Work Unit.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\SoundBanks\SFX.wwu" DateLow="1621687132" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\SoundBanks\Music.wwu" DateLow="1621687132" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\SoundBanks\Default Work Unit.wwu" DateLow="1621690802" DateHigh="0"/>
@ -24,15 +24,15 @@
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Combat.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Boss.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\SFX.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\item_properties.wwu" DateLow="1621878053" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\item_properties.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\Default Work Unit.wwu" DateLow="1621690801" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Ship Audio.wwu" DateLow="1621878053" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Ship Audio.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\SFX.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Music.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Default Work Unit.wwu" DateLow="1621690801" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Ambience.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Factory Effects.wwu" DateLow="1621690801" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Default Work Unit.wwu" DateLow="1621690801" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Default Work Unit.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Dynamic Dialogue\Default Work Unit.wwu" DateLow="1621690801" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Conversion Settings\Factory Conversion Settings.wwu" DateLow="1621690800" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Conversion Settings\Default Work Unit.wwu" DateLow="1621690800" DateHigh="0"/>
@ -40,10 +40,10 @@
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Audio Devices\Default Work Unit.wwu" DateLow="1621690800" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Attenuations\Default Work Unit.wwu" DateLow="1621690800" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Aetheria-Economy_WwiseProject.wproj" DateLow="1621690800" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Aetheria-Economy_WwiseProject.rwvens.wsettings" DateLow="1621690800" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Aetheria-Economy_WwiseProject.rwvens.wsettings" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\UI.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\SFX.wwu" DateLow="1621687076" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\SFX.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\Default Work Unit.wwu" DateLow="1621690792" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\copy_Unit.wwu" DateLow="1621878053" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\copy_Unit.wwu" DateLow="1621878054" DateHigh="0"/>
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\Ambience AM Unit.wwu" DateLow="1621687075" DateHigh="0"/>
</ValidationCache>

View file

@ -23,6 +23,7 @@
<Property Name="Event Action List\{327B0775-AF04-45E9-B12C-6C0A23004D68}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{32B73DBC-3EDA-4794-99FC-FA5129F546BF}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{36D59E0E-8D99-4FFC-9F7F-AEE16A2A7612}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{3FF40096-06F4-40BB-BB0B-A076C9553365}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{436391B4-9A97-4448-8955-7E2EDD68BDDC}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{43AC8002-C192-472E-B332-99B6453C54FA}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{43F9794D-92EB-4B0D-A80B-3179124200AD}\x64_Expand States" Type="string" Value=""/>
@ -33,6 +34,7 @@
<Property Name="Event Action List\{4E75BD76-EFDF-4729-B419-2CD3EFAC87ED}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{507ECF50-2D22-4222-A984-367EF0411E8F}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{51B2C68C-CB7D-41AF-8ABA-FF2B233EFE6C}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{55D9DDAE-7F27-4D04-8E1D-F68DB76FE3E1}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{5E7D0CDC-6E2B-49AE-89E9-B39335CE8CAF}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{63E66AEC-CFE1-4362-B99D-280AC043C538}\x64_Expand States" Type="string" Value=""/>
<Property Name="Event Action List\{67274AD3-8D3A-4041-A799-9BE929F06BD1}\x64_Expand States" Type="string" Value=""/>
@ -117,7 +119,7 @@
<Property Name="GenerateSoundBanks\x64_SelectedPlatforms" Type="string" Value="74wppGGLGUKocCTUjliE6atk2Ww+IVRJs5fEQCA5KRI="/>
<Property Name="GenerateSoundBanks\x64_SelectedSoundBanks" Type="string" Value="Za5mlmZVs0yOu7E3c3kEhXSKlUaqlINNhKJXlakG6GST8E5vupvETYQ2huJEcWGrSmgS3nSEw0miaQE+YFVy9QY/x16o9PZItj3ojqC5EK2og/98mcaOTKpRAxiUGqrTg28tAxQIvEmhYGyC91kSrR+chcmRgJhGt2N3GZgjDIHthAk1VRuHQKFsG3D+ioKLkXoxD61LqUCO+4Lawl5ffJ4FL/v2+bRBo/3Iezc3mrRhO2GpvVNORZtuDp8Fh1/6KIMtl4HI002epB73v2D5XEDzRwKdZpdGp9A1J8v1gGkHDOPiWGJmTb0MvxoxxAruEqVoKQFKSkSwW9fwHyzGX3zVNCY9JBdJi7DIXcLnL0MhDBOG3YG4TZAq8XLM15Zm"/>
<Property Name="HardwareController\CurrentSession" Type="string" Value="{2451DD2E-A7B2-45E6-B93B-6F49B9B887AD}"/>
<Property Name="HardwareController\{2451DD2E-A7B2-45E6-B93B-6F49B9B887AD}\x64_ActiveGroups" Type="string" Value="sahohopAK0WRE4XvXPYF/QHvEwH/////+lZlPDTFnUSwqLpTpFltuQHvEwH/////"/>
<Property Name="HardwareController\{2451DD2E-A7B2-45E6-B93B-6F49B9B887AD}\x64_ActiveGroups" Type="string" Value="+lZlPDTFnUSwqLpTpFltuQHvrVb/////sahohopAK0WRE4XvXPYF/QHvrVb/////"/>
<Property Name="Interactive Music\x64_{065373CA-B6B7-4634-9C4B-6D6F79214FAA} - SegmentEditorZoomInfo" Type="string" Value="AAAAAAAA8D8AAAAAAADwP+PLJfkeqhdAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAA"/>
<Property Name="Interactive Music\x64_{586B920D-AA94-4B2C-828B-37B68C3F2982} - SegmentEditorZoomInfo" Type="string" Value="AAAAAAAA8D8AAAAAAADwPxf6U4KZ8SFAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAA"/>
<Property Name="Interactive Music\x64_{7282DE71-9B0C-4E9B-960C-0EF0036250A4} - SegmentEditorZoomInfo" Type="string" Value="AAAAAAAA8D8AAAAAAADwP4NGy0A+qhxAAAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAA"/>
@ -152,10 +154,10 @@
<Property Name="ProjectExplorer\FirstVisible_12_1" Type="string" Value="{23EC2DE3-3ED8-4B82-AC99-92E25F2E4C6B}"/>
<Property Name="ProjectExplorer\FirstVisible_1_1" Type="string" Value="{A840C15E-F723-46FB-A6CF-9D8CDA869AEE}"/>
<Property Name="ProjectExplorer\FirstVisible_3_1" Type="string" Value="{A69BF0FC-D84A-487C-ABDD-56F71CB2A126}"/>
<Property Name="ProjectExplorer\FirstVisible_4_1" Type="string" Value="{73F86CF2-764E-4EE6-83F3-A385BE96CCD1}"/>
<Property Name="ProjectExplorer\FirstVisible_5_1" Type="string" Value="{D04C8C16-82AB-4895-B181-95D353956951}"/>
<Property Name="ProjectExplorer\FirstVisible_4_1" Type="string" Value="{A69BF0FC-D84A-487C-ABDD-56F71CB2A126}"/>
<Property Name="ProjectExplorer\FirstVisible_5_1" Type="string" Value="{CB6175F1-6080-4A23-92EF-0807E304D0C1}"/>
<Property Name="ProjectExplorer\FirstVisible_6_1" Type="string" Value="{C98E673F-A24C-48A8-960F-10565FFE70A0}"/>
<Property Name="ProjectExplorer\FirstVisible_7_1" Type="string" Value="{46958A74-94AA-4D83-84A2-5795A906E864}"/>
<Property Name="ProjectExplorer\FirstVisible_7_1" Type="string" Value="{C98E673F-A24C-48A8-960F-10565FFE70A0}"/>
<Property Name="ProjectExplorer\FirstVisible_8_1" Type="string" Value="{41093F77-829F-4D88-8601-E8B25F3D4781}"/>
<Property Name="ProjectExplorer\FirstVisible_9_1" Type="string" Value="{41093F77-829F-4D88-8601-E8B25F3D4781}"/>
<Property Name="ProjectExplorer\x64_Expanded_10_1" Type="string" Value=""/>
@ -173,12 +175,12 @@
<Property Name="ProjectExplorer\x64_Expanded_21_1" Type="string" Value=""/>
<Property Name="ProjectExplorer\x64_Expanded_22_1" Type="string" Value=""/>
<Property Name="ProjectExplorer\x64_Expanded_2_1" Type="string" Value=""/>
<Property Name="ProjectExplorer\x64_Expanded_3_1" Type="string" Value="5mszmjEJjECJveimULc2ly1MVjXJG7tAs2XZxKR65fGOlvkQeABMQbc9Iaoc0J04zyPFD6h9VkGze7siv8YDSlSN5LS1oHJBimEBPM+wWPj029/lIVeHQY0l2QkDcA7poly6dK9voEGMn2JNk9uOJNi4HUijO4pCuLPez1pWjWAfm2wHRlXaQ4qS5KHJs/1CmTPlMc5M4EO18D7fmGVznkKzximESuJGkxFGKU0lo36SFhpYv1OVSZ94913DD8bi9MFfmrp5BkqZhGWk3RyBZwLa4QvJwI1Mi4ygzPnUOHkeRpefPRuzTJAUKIJjjgoN4VVlNFh4Kk65rMweSZB1njzKFfIQEnNOns0+b3NpI16dH/sDn9kwT7O4Hxt0LSxVWyUFQn2nRU+6JdZr+COc1Q=="/>
<Property Name="ProjectExplorer\x64_Expanded_4_1" Type="string" Value="RKCoPPy0bkCCcQXv8eepOG/Oljc7P+BAmBxnt9FVODoHd4ejsmpvQb19amPUHbdefWJY/QTagUGKLmmV7pJwJL9QNYS3yZtCiqiLuGpAITwbjnC6qA54Q6f/cg8dYm6CungmQHz3rUOTPoxwGuOBS1bDQsXzBtdDh7ejsX9loVlN1jbmEMy7Rb/5y3dd5BFpTvDkPcMkdUe3MNSSXpgHpQbuQBFpJJVHklAMcr/67xtVbZDm/nqrR5O1mbNTJWEN6B6PCYa/CkmNjMns+nbtKq/od+46YaJJjHfjezhn53A6JKx5R065SaDiKxYo5giMPY3G4xeZDUudCukE17j89/hzr7EXj1ZLlMBEHXdzkjSDYFNyrKOxS77srGpI90ncXMvPttDmEk2LW5meVxT4OUrP9+SN5FZNlRdhY6pOj7N44EPm8uRyTr068Na6vAPNAyabCKvox06RzTr1/sFSpcdI8dBmR/lOsl4DLmo0OaY="/>
<Property Name="ProjectExplorer\x64_Expanded_3_1" Type="string" Value="5mszmjEJjECJveimULc2ly1MVjXJG7tAs2XZxKR65fGOlvkQeABMQbc9Iaoc0J04zyPFD6h9VkGze7siv8YDSlSN5LS1oHJBimEBPM+wWPj029/lIVeHQY0l2QkDcA7poly6dK9voEGMn2JNk9uOJNi4HUijO4pCuLPez1pWjWAfm2wHRlXaQ4qS5KHJs/1CmTPlMc5M4EO18D7fmGVznkKzximESuJGkxFGKU0lo36SFhpYv1OVSZ94913DD8bi9MFfmrp5BkqZhGWk3RyBZwLa4QvJwI1Mi4ygzPnUOHkeRpefPRuzTJAUKIJjjgoN4VVlNFh4Kk65rMweSZB1njzKFfIQEnNOns0+b3NpI15bJQVCfadFT7ol1mv4I5zV"/>
<Property Name="ProjectExplorer\x64_Expanded_4_1" Type="string" Value="RKCoPPy0bkCCcQXv8eepOG/Oljc7P+BAmBxnt9FVODoHd4ejsmpvQb19amPUHbdefWJY/QTagUGKLmmV7pJwJL9QNYS3yZtCiqiLuGpAITwbjnC6qA54Q6f/cg8dYm6CungmQHz3rUOTPoxwGuOBS1bDQsXzBtdDh7ejsX9loVlN1jbmEMy7Rb/5y3dd5BFpTvDkPcMkdUe3MNSSXpgHpQbuQBFpJJVHklAMcr/67xtVbZDm/nqrR5O1mbNTJWEN6B6PCYa/CkmNjMns+nbtKq/od+46YaJJjHfjezhn53A6JKx5R065SaDiKxYo5giMPY3G4xeZDUudCukE17j89/hzr7EXj1ZLlMBEHXdzkjSDYFNyrKOxS77srGpI90ncXMvPttDmEk2LW5meVxT4OUrP9+SN5FZNlRdhY6pOj7N44EPm8uRyTr068Na6vAPNAyabCKvox06RzTr1/sFSpcdI8dBmR/lOsl4DLmo0OabK0rh4wNdkT5mQu504nvz5"/>
<Property Name="ProjectExplorer\x64_Expanded_5_1" Type="string" Value="AlekTQhF7EqFkQdJV+6xTg=="/>
<Property Name="ProjectExplorer\x64_Expanded_6_1" Type="string" Value=""/>
<Property Name="ProjectExplorer\x64_Expanded_7_1" Type="string" Value="XauXjQKuVUGiRlV8dB3srnaEJ7RCyOZBrRNq5HwcVY8n2cxK9AmIQrh8e0QsnPsKW3PN2icgxEWSMy36nfKfTFNFtRmQl/5Fq1lEm+BmOxG4Q7HqupazSoJZtOVbQ1I66tA4kU6ZlEygIlAJuzX8O+zW0PHXYlJNu1mf6Prap20926c37VnfTYa94Acg+F8j3jePNb9nT06OOrLWe8QYMPOeHmWIm8xPtlOqph86KSE="/>
<Property Name="ProjectExplorer\x64_Expanded_8_1" Type="string" Value="Bclcc8A9IEKzeqI7Supe3jIjyQqAyJNCm3a9EGUqOnlUIxUCz0WJQ7Q1U2f6gMiBFoxM0KuClUixgZXTU5VpUbkoo5lcDOZKuGjI/8sf/8IGMi54KI/mTJCHmw6uWg5Yvy0YCoz5dk+nzp3Br2XIlw=="/>
<Property Name="ProjectExplorer\x64_Expanded_7_1" Type="string" Value="J9nMSvQJiEK4fHtELJz7ClNFtRmQl/5Fq1lEm+BmOxG4Q7HqupazSoJZtOVbQ1I66tA4kU6ZlEygIlAJuzX8O+zW0PHXYlJNu1mf6Prap20926c37VnfTYa94Acg+F8j854eZYibzE+2U6qmHzopIQ=="/>
<Property Name="ProjectExplorer\x64_Expanded_8_1" Type="string" Value="VCMVAs9FiUO0NVNn+oDIgQ=="/>
<Property Name="ProjectExplorer\x64_Expanded_9_1" Type="string" Value=""/>
<Property Name="RTPC\GameParameterSimValue\{054DD684-3F0A-4629-BB94-1E5A662EED8A}" Type="Real64" Value="0.24"/>
<Property Name="RTPC\GameParameterSimValue\{082F199E-AA5F-42DE-A1D7-C9BFC973DB9D}" Type="Real64" Value="1"/>
@ -186,8 +188,11 @@
<Property Name="RTPC\GameParameterSimValue\{215424C5-9F3E-438A-AE24-4314B540C243}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{264C0657-8EE3-435B-9D01-246DABEB52D7}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{29928AF3-1DE3-475C-9CF6-9892FED27E34}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{2A6D7A97-7D45-4B6C-96EE-CCD56FA83773}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{32712EBC-F96D-4B83-AD77-B436B6BC825C}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{4193E609-4585-49C0-8CCB-989754DC1284}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{441AD5D1-8E39-451F-8505-8AF4C9DA76B0}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{5540312A-E87E-4E09-91E8-71A5D349779A}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{64F012EA-795C-4DDF-82F0-00DFA345043A}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{69088562-620A-4123-8C93-DDBD1437C6C9}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{72651D5D-22E1-4AEE-87FA-9F706D12B1DC}" Type="Real64" Value="0"/>
@ -197,9 +202,13 @@
<Property Name="RTPC\GameParameterSimValue\{A5EACAF7-0E81-432C-A284-84437E8983B3}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{B54383F3-A1EF-4FCA-94D5-24A7E4AC228C}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{B907BE30-367C-4955-AF3B-AF6B2806F9D5}" Type="Real64" Value="74"/>
<Property Name="RTPC\GameParameterSimValue\{BFC68604-C477-4B9B-B488-F5B4A9ADEAA4}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{D5D4294D-5ECC-4A95-B006-2FCD260DE9F9}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{D962E3DD-1F06-4C09-B49B-B4158D76A581}" Type="Real64" Value="0.01"/>
<Property Name="RTPC\GameParameterSimValue\{DB985387-9685-4E6D-BF7E-AAE3C0C79457}" Type="Real64" Value="0"/>
<Property Name="RTPC\GameParameterSimValue\{E9101997-FD09-41DC-8BB2-B7519B030AE8}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{FC156F43-A577-4DCB-B6E8-84E4072A38C9}" Type="Real64" Value="1"/>
<Property Name="RTPC\GameParameterSimValue\{FCC9D97B-7F69-4F48-9342-BC379DF3F60A}" Type="Real64" Value="1"/>
<Property Name="SoundBank Manager\x64_Expand States" Type="string" Value="J9nMSvQJiEK4fHtELJz7ClNFtRmQl/5Fq1lEm+BmOxHeN481v2dPTo46stZ7xBgwXauXjQKuVUGiRlV8dB3srrhDseq6lrNKglm05VtDUjrznh5liJvMT7ZTqqYfOikh6tA4kU6ZlEygIlAJuzX8Ow=="/>
<Property Name="SoundBankHeaderFilePath" Type="string" Value="GeneratedSoundBanks\"/>
<Property Name="SoundBankPaths" Type="string">

View file

@ -55,7 +55,7 @@
<RTPC Name="" ID="{B24C11FF-D920-4B2A-B11A-B074DCEC561C}" ShortID="536604729">
<ReferenceList>
<Reference Name="ControlInput">
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{54C48120-C316-43E1-8026-ED35BDF7A231}"/>
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{CB1C4FF0-039F-4939-858E-CD82BB8B4A21}"/>
</Reference>
</ReferenceList>
<Curve Name="" ID="{A643025C-5BC7-4831-9C76-1978512F2AB3}">
@ -87,7 +87,7 @@
<RTPC Name="" ID="{B9EFAEEF-B415-413C-9386-57FA0A797391}" ShortID="727769987">
<ReferenceList>
<Reference Name="ControlInput">
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{54C48120-C316-43E1-8026-ED35BDF7A231}"/>
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{CB1C4FF0-039F-4939-858E-CD82BB8B4A21}"/>
</Reference>
</ReferenceList>
<Curve Name="" ID="{63759D02-776C-4B44-A57D-E224B0E071C5}">
@ -115,7 +115,7 @@
<RTPC Name="" ID="{5BE13058-9621-4CB9-A150-D8E6351E8B16}" ShortID="232884332">
<ReferenceList>
<Reference Name="ControlInput">
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{54C48120-C316-43E1-8026-ED35BDF7A231}"/>
<ObjectRef Name="sfx_ship_drive_electric_fuzzbox_filter" ID="{0FCABA25-DB66-4E12-ABEC-6E75E92AD397}" WorkUnitID="{CB1C4FF0-039F-4939-858E-CD82BB8B4A21}"/>
</Reference>
</ReferenceList>
<Curve Name="" ID="{0BF40038-01E0-4774-877D-A9D7B8BE60E9}">
@ -167,6 +167,12 @@
<Property Name="MicType" Type="int32" Value="2"/>
</PropertyList>
<ChildrenList>
<PluginMediaSource Name="" ID="{8357C1C6-4A45-48FF-ACE4-B4FA4FFC5C5C}">
<ParentPluginID>462899</ParentPluginID>
<MediaIDList>
<MediaID ID="435959294"/>
</MediaIDList>
</PluginMediaSource>
<PluginMediaSource Name="" ID="{19FBD08E-CCD3-4A30-A896-1072AE733B89}">
<ParentPluginID>462899</ParentPluginID>
<MediaIDList>

View file

@ -1,141 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<WwiseDocument Type="WorkUnit" ID="{0A7217B3-52C7-4A0C-9966-F5AF7ECC98F0}" SchemaVersion="103">
<Events>
<WorkUnit Name="Ship Audio" ID="{0A7217B3-52C7-4A0C-9966-F5AF7ECC98F0}" PersistMode="Standalone">
<ChildrenList>
<Event Name="test_spaship_full_unit" ID="{5E7D0CDC-6E2B-49AE-89E9-B39335CE8CAF}">
<ChildrenList>
<Action Name="" ID="{D6F2996A-8361-4D78-88C6-D60D15DD2F0E}" ShortID="692204141">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="Thruster" ID="{35564C2D-1BC9-40BB-B365-D9C4A47AE5F1}" WorkUnitID="{9A5FC1F4-79BA-4A06-9984-65A4DD1C8167}"/>
</Reference>
</ReferenceList>
</Action>
<Action Name="" ID="{B3F56B03-9140-4EF5-899C-4752BAFA8ADC}" ShortID="26652537">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="reactor_type1" ID="{3AA3BAA8-A42D-4EAE-B9BD-BC64D22B2753}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
<Action Name="" ID="{F165B595-D783-4B56-A5AF-5DD85C00DEF8}" ShortID="97635930">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="spaceship_reactor_overheat_alarm" ID="{C9F5C84F-7414-4607-B8F0-8734CCB51061}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_medium" ID="{0F30DB3D-6A97-4659-BA04-13A267DC19EC}">
<ChildrenList>
<Action Name="" ID="{9A7AD34B-FB31-46CE-8C31-D47E3DEF198A}" ShortID="644831442">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="thruster_medium" ID="{4261D6D4-BDC3-4423-BA6B-A92DE2181A21}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_large" ID="{55D9DDAE-7F27-4D04-8E1D-F68DB76FE3E1}">
<ChildrenList>
<Action Name="" ID="{3B452F01-2543-4869-9365-CCB8A7819E95}" ShortID="131458034">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="Thruster" ID="{35564C2D-1BC9-40BB-B365-D9C4A47AE5F1}" WorkUnitID="{9A5FC1F4-79BA-4A06-9984-65A4DD1C8167}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_small" ID="{63E66AEC-CFE1-4362-B99D-280AC043C538}">
<ChildrenList>
<Action Name="" ID="{E83A8A35-D933-48D9-BE5B-F2895CD0D141}" ShortID="13039791">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="thruster_small" ID="{D355F5AE-732C-4638-988F-F1E01D1FC547}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="reactor_type01" ID="{8A0DAB86-FAC0-4D8A-91E6-DD9E0C93259C}">
<ChildrenList>
<Action Name="" ID="{1C3C46F3-1B59-4901-9585-6DF5F12B205B}" ShortID="218777135">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="reactor_type1" ID="{3AA3BAA8-A42D-4EAE-B9BD-BC64D22B2753}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
<Action Name="" ID="{A69EAE78-9686-46D0-B4A1-8887A6544FD9}" ShortID="606916448">
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="spaceship_reactor_overheat_alarm" ID="{C9F5C84F-7414-4607-B8F0-8734CCB51061}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="reactor_type01_stop" ID="{ACD01933-582E-4049-B99E-8A202B5324F7}">
<ChildrenList>
<Action Name="" ID="{F057BAA2-A046-491E-80F8-73D4824BD6CE}" ShortID="883340450">
<PropertyList>
<Property Name="ActionType" Type="int16" Value="2"/>
</PropertyList>
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="reactor_type1" ID="{3AA3BAA8-A42D-4EAE-B9BD-BC64D22B2753}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_large_stop" ID="{3FF40096-06F4-40BB-BB0B-A076C9553365}">
<ChildrenList>
<Action Name="" ID="{85D88D53-72B3-41C9-AD6B-65695421C618}" ShortID="48468524">
<PropertyList>
<Property Name="ActionType" Type="int16" Value="2"/>
</PropertyList>
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="Thruster" ID="{35564C2D-1BC9-40BB-B365-D9C4A47AE5F1}" WorkUnitID="{9A5FC1F4-79BA-4A06-9984-65A4DD1C8167}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_medium_stop" ID="{BDAB58BA-0893-41E9-B425-2FAA069219F0}">
<ChildrenList>
<Action Name="" ID="{86B85CF7-7CE2-4459-89E4-B5ADCB221E0D}" ShortID="873188303">
<PropertyList>
<Property Name="ActionType" Type="int16" Value="2"/>
</PropertyList>
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="thruster_medium" ID="{4261D6D4-BDC3-4423-BA6B-A92DE2181A21}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
<Event Name="thruster_small_stop" ID="{11565353-AF3C-4C1E-A6C1-0C06D05C834D}">
<ChildrenList>
<Action Name="" ID="{E12D089D-D6EB-47F6-8480-E0E977ED1C89}" ShortID="153875743">
<PropertyList>
<Property Name="ActionType" Type="int16" Value="2"/>
</PropertyList>
<ReferenceList>
<Reference Name="Target">
<ObjectRef Name="thruster_small" ID="{D355F5AE-732C-4638-988F-F1E01D1FC547}" WorkUnitID="{076C9B1F-5546-43DA-8A92-E4A1C9B3FD42}"/>
</Reference>
</ReferenceList>
</Action>
</ChildrenList>
</Event>
</ChildrenList>
</WorkUnit>
</Events>
</WwiseDocument>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<WwiseDocument Type="WorkUnit" ID="{02152354-45CF-4389-B435-5367FA80C881}" SchemaVersion="103">
<WwiseDocument Type="WorkUnit" ID="{CB1C4FF0-039F-4939-858E-CD82BB8B4A21}" SchemaVersion="103">
<GameParameters>
<WorkUnit Name="SFX" ID="{02152354-45CF-4389-B435-5367FA80C881}" PersistMode="Standalone">
<WorkUnit Name="SFX" ID="{CB1C4FF0-039F-4939-858E-CD82BB8B4A21}" PersistMode="Standalone">
<ChildrenList>
<Folder Name="Reactor" ID="{782E3206-8F28-4CE6-9087-9B0EAE5A0E58}" ShortID="472724612">
<ChildrenList>
@ -23,7 +23,7 @@
<Property Name="Max" Type="Real64" Value="1"/>
</PropertyList>
</GameParameter>
<GameParameter Name="sfx_reactor_alarm" ID="{778F5836-B82F-46F8-936A-E8581E9DA7A9}">
<GameParameter Name="sfx_reactor_alarm" ID="{FCC9D97B-7F69-4F48-9342-BC379DF3F60A}">
<PropertyList>
<Property Name="InitialValue" Type="Real64" Value="1"/>
<Property Name="Max" Type="Real64" Value="1"/>
@ -79,7 +79,7 @@
<Property Name="Max" Type="Real64" Value="1"/>
</PropertyList>
</GameParameter>
<GameParameter Name="ship_velocity" ID="{B907BE30-367C-4955-AF3B-AF6B2806F9D5}">
<GameParameter Name="ship_velocity" ID="{D5D4294D-5ECC-4A95-B006-2FCD260DE9F9}">
<PropertyList>
<Property Name="InitialValue" Type="Real64" Value="0"/>
</PropertyList>

BIN
Asset Sources/Adrasteia1.blend (Stored with Git LFS)

Binary file not shown.

View file

@ -58,7 +58,7 @@ Material:
m_Floats:
- _BumpScale: 1
- _Cutoff: 1
- _Depth: 40
- _Depth: 80
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1

View file

@ -0,0 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wormhole Gravity 1
m_Shader: {fileID: 4800000, guid: 268da230635cfb34ab4ed6ad39503fa0, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 1
- _Depth: 54
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Power: 4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

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

View file

@ -27,6 +27,22 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaPatch:
m_Texture: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaPatchHeight:
m_Texture: {fileID: 8400000, guid: 06ec5ef8a5830fc44b1ac1a6e123add5, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaSurfaceHeight:
m_Texture: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaTint:
m_Texture: {fileID: 8400000, guid: d196505464047f04a97f28689041209b, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Patch:
m_Texture: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
m_Scale: {x: 1, y: 1}
@ -43,8 +59,12 @@ Material:
- _AlphaFloor: 0
- _DepthBlend: 512
- _DepthCeiling: 1024
- _Exposure: 100
- _FlowAmplitude: 1
- _FlowScale: 1
- _FlowScroll: 1
- _FlowSpeed: 5
- _Gamma: 0.5
- _Gamma: 0.3
- _GridCeilingBlend: -300
- _GridCeilingDensity: 0.01
- _GridCeilingFollow: 0
@ -55,6 +75,12 @@ Material:
- _GridFloorOffset: 100
- _GridPatchBlend: 50
- _GridPatchDensity: 1
- _NebulaFillDensity: 0.00075
- _NebulaFloorBlend: 50
- _NebulaFloorDensity: 1
- _NebulaFloorOffset: 80
- _NebulaPatchBlend: 25
- _NebulaPatchDensity: 0.1
- _NoiseExponent: 2
- _NoiseFrequency: 0.02
- _NoiseSpeed: 0.00001
@ -65,9 +91,9 @@ Material:
- _ScatteringDistExponent: 0.5
- _ScatteringMinDist: 1
- _StepExponent: 2
- _TintExponent: 0.4
- _TurbulenceAmplitude: 50
- _TurbulenceScale: 100
- _TintExponent: 1.2
- _TurbulenceAmplitude: 20
- _TurbulenceScale: 30
m_Colors:
- _Tint: {r: 0.09411765, g: 0.09411765, b: 0.09411765, a: 1}
m_BuildTextureStacks: []

View file

@ -27,6 +27,22 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaPatch:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaPatchHeight:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaSurfaceHeight:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NebulaTint:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Patch:
m_Texture: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
m_Scale: {x: 1, y: 1}
@ -43,8 +59,11 @@ Material:
- _AlphaFloor: 0.01
- _DepthBlend: 512
- _DepthCeiling: 4096
- _Exposure: 0.001
- _FlowSpeed: 5
- _Exposure: 2
- _FlowAmplitude: 512
- _FlowScale: 1024
- _FlowScroll: 0
- _FlowSpeed: 1
- _Gamma: 0.5
- _GridCeilingBlend: -300
- _GridCeilingDensity: 0.01
@ -52,23 +71,29 @@ Material:
- _GridCeilingOffset: 0
- _GridFillDensity: 0.0005
- _GridFloorBlend: 50
- _GridFloorDensity: 2
- _GridFloorDensity: 1
- _GridFloorOffset: 10
- _GridPatchBlend: 150
- _GridPatchDensity: 2
- _NoiseExponent: 2.25
- _NoiseFrequency: 0.02
- _GridPatchDensity: 1
- _NebulaFillDensity: 0.00075
- _NebulaFloorBlend: 150
- _NebulaFloorDensity: 1
- _NebulaFloorOffset: 0
- _NebulaPatchBlend: 51.47
- _NebulaPatchDensity: 0.25
- _NoiseExponent: 3
- _NoiseFrequency: 0.005
- _NoiseSpeed: 0
- _NoiseStrength: 50
- _SafetyDistance: 100
- _Scattering: 100
- _ScatteringDensityExponent: 0.175
- _ScatteringDistExponent: 2
- _ScatteringMinDist: 50
- _NoiseStrength: -400
- _SafetyDistance: 200
- _Scattering: 50
- _ScatteringDensityExponent: 1
- _ScatteringDistExponent: 1.5
- _ScatteringMinDist: 10
- _StepExponent: 2
- _TintExponent: 2
- _TurbulenceAmplitude: 100
- _TurbulenceScale: 30
- _TintExponent: 1.2
- _TurbulenceAmplitude: 20
- _TurbulenceScale: 60
m_Colors:
- _Tint: {r: 0.01, g: 0.01, b: 0.01, a: 1}
m_BuildTextureStacks: []

View file

@ -73,6 +73,6 @@ Material:
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 95.87451, g: 95.87451, b: 95.87451, a: 0.5019608}
- _Color: {r: 1.216786, g: 1.216786, b: 1.216786, a: 0.5019608}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View file

@ -86,7 +86,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Scale: 2.6751254
- _Scale: 1.6688799
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1

BIN
Assets/Resources/Settings.asset (Stored with Git LFS)

Binary file not shown.

View file

@ -16163,17 +16163,22 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1d9e94d9c84cb6d46a2811d6a0e5e32e, type: 3}
m_Name:
m_EditorClassIdentifier:
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
TargetCamera: {fileID: 2115559089}
ParticleCalculation: {fileID: 7200000, guid: f53a4ba56f0db2a49ad9f68150bf298a, type: 3}
ParticleMaterial: {fileID: 2100000, guid: fc00c35c3c370774c88d55240b6538ce, type: 2}
Span: 512
Speed: 0.25
Span: 256
Speed: -0.25
MinimumSize: 0.0025
MaximumSize: 0.005
Spacing: 4
Spacing: 1.5
Ceiling: -430
Floor: -50
HeightExponent: 100000
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
NebulaPatchHeight: {fileID: 8400000, guid: 06ec5ef8a5830fc44b1ac1a6e123add5, type: 2}
NebulaPatch: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
NebulaTint: {fileID: 8400000, guid: d196505464047f04a97f28689041209b, type: 2}
Heightmap: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
ParticleColors: {fileID: 2800000, guid: 56db63da398b2d04394ddbccedce943c, type: 3}
GravityCamera: {fileID: 1537342003}
@ -23726,12 +23731,12 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -23751,7 +23756,7 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -16
objectReference: {fileID: 0}
- target: {fileID: 1713457305180270767, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -24938,12 +24943,12 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -24963,7 +24968,7 @@ PrefabInstance:
- target: {fileID: 878382121558056004, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
value: -16
objectReference: {fileID: 0}
- target: {fileID: 1713457305180270767, guid: 2758dfa2744d7ad4d8877545189d116e,
type: 3}
@ -30775,9 +30780,9 @@ MonoBehaviour:
antialiasingMode: 3
temporalAntialiasing:
jitterSpread: 1
sharpness: 0.5
stationaryBlending: 0.98
motionBlending: 0.95
sharpness: 0
stationaryBlending: 0.99
motionBlending: 0.99
subpixelMorphologicalAntialiasing:
quality: 2
fastApproximateAntialiasing:
@ -30862,8 +30867,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8c03374f22d0a3d4882018de66894a84, type: 3}
m_Name:
m_EditorClassIdentifier:
_volMaterial: {fileID: 2100000, guid: 2ff39f5d101241043ba1dcde19d92f77, type: 2}
VolMaterial: {fileID: 2100000, guid: 2ff39f5d101241043ba1dcde19d92f77, type: 2}
GridTransform: {fileID: 0}
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
NebulaPatchHeight: {fileID: 8400000, guid: 06ec5ef8a5830fc44b1ac1a6e123add5, type: 2}
NebulaPatch: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
NebulaTint: {fileID: 8400000, guid: d196505464047f04a97f28689041209b, type: 2}
--- !u!114 &2115559094
MonoBehaviour:
m_ObjectHideFlags: 0

View file

@ -802,8 +802,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741153267}
m_LocalRotation: {x: 0.32744318, y: 0.17597876, z: -0.062211014, w: 0.92625177}
m_LocalPosition: {x: -144.10971, y: -28.69563, z: -126.68646}
m_LocalRotation: {x: 0.3274431, y: 0.17597422, z: -0.06220931, w: 0.9262527}
m_LocalPosition: {x: -144.10849, y: -28.695732, z: -126.68623}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 412917866}
@ -853,17 +853,22 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1d9e94d9c84cb6d46a2811d6a0e5e32e, type: 3}
m_Name:
m_EditorClassIdentifier:
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
TargetCamera: {fileID: 965376323}
ParticleCalculation: {fileID: 7200000, guid: f53a4ba56f0db2a49ad9f68150bf298a, type: 3}
ParticleMaterial: {fileID: 2100000, guid: fc00c35c3c370774c88d55240b6538ce, type: 2}
Span: 256
Speed: 0.25
Speed: -0.25
MinimumSize: 0.0025
MaximumSize: 0.005
Spacing: 4
Spacing: 2
Ceiling: 0
Floor: -50
HeightExponent: 1000
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
NebulaPatchHeight: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
NebulaPatch: {fileID: 8400000, guid: 06ec5ef8a5830fc44b1ac1a6e123add5, type: 2}
NebulaTint: {fileID: 8400000, guid: d196505464047f04a97f28689041209b, type: 2}
Heightmap: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
ParticleColors: {fileID: 2800000, guid: 56db63da398b2d04394ddbccedce943c, type: 3}
GravityCamera: {fileID: 2103364771}
@ -1210,7 +1215,6 @@ GameObject:
- component: {fileID: 965376325}
- component: {fileID: 965376322}
- component: {fileID: 965376328}
- component: {fileID: 965376330}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
@ -1302,8 +1306,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965376321}
m_LocalRotation: {x: 0.32744318, y: 0.17597876, z: -0.062211014, w: 0.92625177}
m_LocalPosition: {x: -144.10971, y: -28.69563, z: -126.68646}
m_LocalRotation: {x: 0.3274431, y: 0.17597422, z: -0.06220931, w: 0.9262527}
m_LocalPosition: {x: -144.10849, y: -28.695732, z: -126.68623}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -1419,24 +1423,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8c03374f22d0a3d4882018de66894a84, type: 3}
m_Name:
m_EditorClassIdentifier:
_volMaterial: {fileID: 2100000, guid: e21702a5e6e98b7409d6913663ceab7e, type: 2}
VolMaterial: {fileID: 2100000, guid: e21702a5e6e98b7409d6913663ceab7e, type: 2}
GridTransform: {fileID: 1172538221}
--- !u!114 &965376330
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965376321}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 899f97884c6d96b4ca20648ec109a37f, type: 3}
m_Name:
m_EditorClassIdentifier:
pattern: 12
patternScale: 1
activeSample: {x: -0.25, y: 0.16666669, z: 0, w: -0.16666666}
activeIndex: 1
Settings: {fileID: 11400000, guid: cd2344e2001a37544aab0960c164d4ff, type: 2}
NebulaSurfaceHeight: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
NebulaPatchHeight: {fileID: 8400000, guid: 06ec5ef8a5830fc44b1ac1a6e123add5, type: 2}
NebulaPatch: {fileID: 8400000, guid: c618a6b20b3c7394590c59a9fa467e86, type: 2}
NebulaTint: {fileID: 8400000, guid: d196505464047f04a97f28689041209b, type: 2}
--- !u!4 &971662241 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7852221720971737233, guid: 046dde0f4600bce41ad33c476f99b309,

View file

@ -774,7 +774,6 @@ public class ActionGameManager : MonoBehaviour
true);
// EntitySerializer.Unpack(ItemManager, Zone, Loadouts.First(x => x.Name == StarterShipTemplate), true);
((Ship) ship).IsPlayerShip = true;
((Ship) ship).CanTow = true;
ship.Position = float3.zero;
ship.Zone = Zone;
Zone.Entities.Add(ship);
@ -874,7 +873,7 @@ public class ActionGameManager : MonoBehaviour
if (ZoneRenderer.Planets.ContainsKey(parentOrbitPlanet))
DockCamera.LookAt = ZoneRenderer.Planets[parentOrbitPlanet].Body.transform;
else DockCamera.LookAt = ZoneRenderer.ZoneRoot;
if (dockingBay.DockedShip.CanTow)
if (entity is OrbitalEntity {CanTow: true})
TowingStation = entity;
Menu.ShowTab(MenuTab.Inventory);
}

View file

@ -45,6 +45,7 @@ public class GameSettings : ScriptableObject
public Color GearHitColor;
public Gradient ArmorGradient;
public Gradient DurabilityGradient;
public ZoneEnvironment DefaultEnvironment;
[HideInInspector] public Sprite[] ItemIcons;
[HideInInspector] public Sprite[] WeaponTypeIcons;
[HideInInspector] public Sprite[] WeaponCaliberIcons;

View file

@ -228,4 +228,14 @@ public enum MusicType
Overworld,
Combat,
Boss
}
[Flags]
public enum BrushLayer
{
Gravity = 1 << 0,
Displacement = 1 << 1,
FogHeight = 1 << 2,
CloudHeight = 1 << 3,
CloudDepth = 1 << 4
}

View file

@ -0,0 +1,135 @@
using System;
using MessagePack;
using Newtonsoft.Json;
using Unity.Mathematics;
using static Unity.Mathematics.math;
using static Unity.Mathematics.noise;
using float2 = Unity.Mathematics.float2;
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class ZoneEnvironment
{
[JsonProperty("nebula"), Key(0)] public NebulaSettings Nebula;
[JsonProperty("flow"), Key(1)] public FlowSettings Flow;
[JsonProperty("noise"), Key(2)] public NoiseSettings Noise;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class NebulaSettings
{
[JsonProperty("fillDensity"), Key(0)] public float FillDensity;
[JsonProperty("fillDistance"), Key(1)] public float FillDistance;
[JsonProperty("fogDensity"), Key(2)] public float FloorDensity;
[JsonProperty("cloudDensity"), Key(3)] public float PatchDensity;
[JsonProperty("fogOffset"), Key(4)] public float FloorOffset;
[JsonProperty("fogBlend"), Key(5)] public float FloorBlend;
[JsonProperty("cloudBlend"), Key(6)] public float PatchBlend;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class FlowSettings
{
[JsonProperty("scale"), Key(0)] public float Scale;
[JsonProperty("amplitude"), Key(1)] public float Amplitude;
[JsonProperty("scrollSpeed"), Key(2)] public float ScrollSpeed;
[JsonProperty("velocity"), Key(3)] public float Speed;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class NoiseSettings
{
[JsonProperty("scale"), Key(0)] public float Scale;
[JsonProperty("amplitude"), Key(1)] public float Amplitude;
[JsonProperty("exponent"), Key(2)] public float Exponent;
[JsonProperty("speed"), Key(3)] public float Speed;
}
[Union(0, typeof(PowerBrush)),
Union(1, typeof(SimplexBrush)),
Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public abstract class Brush
{
[JsonProperty("layerMask"), Key(0)] public BrushLayer LayerMask;
[JsonProperty("cutoff"), Key(1)] public float Cutoff;
[JsonProperty("depth"), Key(2)] public float Depth;
[JsonProperty("envelopeExponent"), Key(3)] public float EnvelopeExponent;
float powerPulse( float x, float power )
{
x = saturate(abs(x))-.001f;
return pow((x + 1.0f) * (1.0f - x), power);
}
protected abstract float Evaluate(float2 world, float2 uv);
public float Evaluate(float2 world, float2 pos, float2 radius)
{
var uv = (world - pos) / radius;
float dist = length(uv)*2;
float envelope = min(Cutoff, powerPulse(dist,EnvelopeExponent)) * smoothstep(1, .95f, dist);
return Depth * Evaluate(world, uv) * envelope;
}
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class PowerBrush : Brush
{
protected override float Evaluate(float2 world, float2 uv)
{
return 1;
}
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public abstract class TextureBrush : Brush
{
[JsonProperty("frequency"), Key(4)] public float2 Frequency;
[JsonProperty("phase"), Key(5)] public float2 Phase;
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public abstract class AnimatedBrush : TextureBrush
{
[JsonProperty("animationSpeed"), Key(6)] public float AnimationSpeed;
[IgnoreMember]
public float Time { get; set; }
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class SimplexBrush : TextureBrush
{
[JsonProperty("absolute"), Key(6)] public bool AbsoluteValue;
protected override float Evaluate(float2 world, float2 uv)
{
var noise = snoise(world * Frequency + Phase);
return AbsoluteValue ? abs(noise) : noise;
}
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class AnimatedSimplexBrush : AnimatedBrush
{
[JsonProperty("absolute"), Key(7)] public bool AbsoluteValue;
protected override float Evaluate(float2 world, float2 uv)
{
var noise = snoise(float3(float2(world * Frequency + Phase), AnimationSpeed * Time));
return AbsoluteValue ? abs(noise) : noise;
}
}
[Serializable, MessagePackObject, JsonObject(MemberSerialization.OptIn)]
public class RadialWaveBrush : TextureBrush
{
[JsonProperty("waveExponent"), Key(7)] public float WaveExponent;
protected override float Evaluate(float2 world, float2 uv)
{
float dist = length(uv);
float ang = atan2(uv.y,uv.x);
return cos((ang + Phase.x) * Frequency.x * PI + (pow(dist, WaveExponent) + Phase.y) * Frequency.y);
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b4fc7c09c95c487baeffbd139abe89b9
timeCreated: 1622614593

View file

@ -520,6 +520,9 @@ public class HullData : EquippableItemData
[Inspectable, JsonProperty("drag"), Key(28)]
public float Drag;
[Inspectable, JsonProperty("canTow"), Key(29)]
public bool CanTow;
[IgnoreMember]
public Shape InteriorCells

View file

@ -95,6 +95,8 @@ public class LoadoutGenerator
var instance = ItemManager.CreateInstance(item);
cargo.TryStore(instance);
}
entity.CanTow = hullData.CanTow;
return EntitySerializer.Pack(entity) as OrbitalEntityPack;
}

View file

@ -15,6 +15,7 @@ public class OrbitalEntity : Entity
public SecurityLevel SecurityLevel;
public float SecurityRadius;
public LocationStory Story;
public bool CanTow;
public OrbitalEntity(ItemManager itemManager, Zone zone, EquippableItem hull, Guid orbit, EntitySettings settings) : base(itemManager, zone, hull, settings)
{

View file

@ -26,7 +26,6 @@ public class Ship : Entity
public Entity HomeEntity;
public float2 MovementDirection;
public bool IsPlayerShip;
public bool CanTow;
private HashSet<EquippedItem> _thrusterItems;
private Thruster[] _allThrusters;

View file

@ -6,6 +6,7 @@ using System;
using UnityEngine;
using Unity.Mathematics;
using UnityEngine.Experimental.Rendering;
using UnityEngine.Serialization;
using static Unity.Mathematics.math;
using static Unity.Mathematics.noise;
@ -16,15 +17,23 @@ using static Unity.Mathematics.noise;
[RequireComponent( typeof( Camera ) ), ImageEffectAllowedInSceneView]
public class VolumeSampling : MonoBehaviour
{
public Material _volMaterial;
[FormerlySerializedAs("_volMaterial")] public Material VolMaterial;
public Transform GridTransform;
public GameSettings Settings;
//public int DownsampleBlurMask = 2;
private Camera _camera;
private RenderBuffer[] _mrt;
private RenderTexture _blurMask;
private Texture2D _disabledBlurMask;
private float _flowScroll;
public RenderTexture NebulaSurfaceHeight;
public RenderTexture NebulaPatchHeight;
public RenderTexture NebulaPatch;
public RenderTexture NebulaTint;
public bool EnableDepth { get; set; } = true;
private void Start()
{
@ -39,19 +48,19 @@ public class VolumeSampling : MonoBehaviour
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
// check for no shader / shader compile error
if( _volMaterial == null )
if( VolMaterial == null )
{
Graphics.Blit(source, destination);
return;
}
// Shader needs this matrix to generate world space rays
_volMaterial.SetMatrix("_CamProj", (_camera.projectionMatrix * _camera.worldToCameraMatrix).inverse);
_volMaterial.SetMatrix("_CamInvProj", (_camera.projectionMatrix * _camera.worldToCameraMatrix).inverse);
VolMaterial.SetMatrix("_CamProj", (_camera.projectionMatrix * _camera.worldToCameraMatrix).inverse);
VolMaterial.SetMatrix("_CamInvProj", (_camera.projectionMatrix * _camera.worldToCameraMatrix).inverse);
// Shader needs to know the position and scale of cameras used to render input textures
if(GridTransform != null)
_volMaterial.SetVector("_GridTransform", new Vector4(GridTransform.position.x,GridTransform.position.z,GridTransform.localScale.x));
VolMaterial.SetVector("_GridTransform", new Vector4(GridTransform.position.x,GridTransform.position.z,GridTransform.localScale.x));
_mrt[0] = destination.colorBuffer;
_mrt[1] = _blurMask.colorBuffer;
@ -59,7 +68,7 @@ public class VolumeSampling : MonoBehaviour
// Blit with a MRT.
Graphics.SetRenderTarget(_mrt, source.depthBuffer);
Graphics.Blit( source, _volMaterial, 0 );
Graphics.Blit( source, VolMaterial, 0 );
//Graphics.Blit(rt1, destination);
@ -67,5 +76,29 @@ public class VolumeSampling : MonoBehaviour
Shader.SetGlobalTexture("_DoFBlurTex", _blurMask);
else
Shader.SetGlobalTexture("_DoFBlurTex", _disabledBlurMask);
Shader.SetGlobalTexture("_NebulaSurfaceHeight", NebulaSurfaceHeight);
Shader.SetGlobalTexture("_NebulaPatchHeight", NebulaPatchHeight);
Shader.SetGlobalTexture("_NebulaPatch", NebulaPatch);
Shader.SetGlobalTexture("_NebulaTint", NebulaTint);
Shader.SetGlobalFloat("_NebulaFillDensity", Settings.DefaultEnvironment.Nebula.FillDensity);
Shader.SetGlobalFloat("_SafetyDistance", Settings.DefaultEnvironment.Nebula.FillDistance);
Shader.SetGlobalFloat("_NebulaFloorDensity", Settings.DefaultEnvironment.Nebula.FloorDensity);
Shader.SetGlobalFloat("_NebulaPatchDensity", Settings.DefaultEnvironment.Nebula.PatchDensity);
Shader.SetGlobalFloat("_NebulaFloorOffset", Settings.DefaultEnvironment.Nebula.FloorOffset);
Shader.SetGlobalFloat("_NebulaFloorBlend", Settings.DefaultEnvironment.Nebula.FloorBlend);
Shader.SetGlobalFloat("_NebulaPatchBlend", Settings.DefaultEnvironment.Nebula.PatchBlend);
// Shader.SetGlobalFloat("_TintExponent", Settings.DefaultEnvironment.);
Shader.SetGlobalFloat("_NoiseScale", Settings.DefaultEnvironment.Noise.Scale);
Shader.SetGlobalFloat("_NoiseExponent", Settings.DefaultEnvironment.Noise.Exponent);
Shader.SetGlobalFloat("_NoiseAmplitude", Settings.DefaultEnvironment.Noise.Amplitude);
Shader.SetGlobalFloat("_NoiseSpeed", Settings.DefaultEnvironment.Noise.Speed);
Shader.SetGlobalFloat("_FlowScale", Settings.DefaultEnvironment.Flow.Scale);
Shader.SetGlobalFloat("_FlowAmplitude", Settings.DefaultEnvironment.Flow.Amplitude);
_flowScroll += Settings.DefaultEnvironment.Flow.ScrollSpeed * Time.deltaTime;
Shader.SetGlobalFloat("_FlowScroll", _flowScroll);
Shader.SetGlobalFloat("_FlowSpeed", Settings.DefaultEnvironment.Flow.Speed);
// Shader.SetGlobalFloat("_SafetyDistance", Settings.DefaultEnvironment.);
}
}

View file

@ -1,4 +1,6 @@
//Tell unity that we have defined a kernel
#include "Assets/Shaders/Volumetric.cginc"
//Tell unity that we have defined a kernel
#pragma kernel UpdateParticles
//Store Particle data in a struct
@ -22,7 +24,6 @@ SamplerState samplerHueTexture;
//uniform float4x4 noiseOffsetMatrix;
float time;
float3 transform;
float spacing;
float ceilingHeight;
float floorHeight;
@ -115,19 +116,26 @@ void UpdateParticles(uint3 id : SV_DispatchThreadID, int3 groupID : SV_GroupThre
int x = id % span - span / 2;
int y = id / span - span / 2;
int xt = (int)(transform.x / spacing);
int yt = (int)(transform.y / spacing);
int xt = (int)(_GridTransform.x / spacing);
int yt = (int)(_GridTransform.y / spacing);
uint xp = x + xt + offset;
uint yp = y + yt + offset;
particles[id.x].color = HueTexture.SampleLevel(samplerHueTexture, float2(RandomFirst(xp, yp), 0.0f), 0.0f).rgb;
const float l = frac(time+RandomFirst(xp, yp));
particles[id.x].position = float3(
x * spacing + xt * spacing + perlinNoise1D(RandomValue()*1024+time)*spacing, 0,
y * spacing + yt * spacing + perlinNoise1D(RandomValue()*1024+time)*spacing);
float2 puv = float2(.5,.5) - (particles[id.x].position.xz - transform.xy) / (transform.z);
float gravDepth = Heightmap.SampleLevel(samplerHeightmap, puv, 0.0f).r;
float headroom = (ceilingHeight+gravDepth);
particles[id.x].position.y = -gravDepth + floorHeight + -floorHeight * 4 * pow(RandomValue(), max(1, heightExponent/(headroom*headroom))) + perlinNoise1D(RandomValue()*1024+time)*spacing/2;
particles[id.x].size = lerp(minimumSize, maximumSize, RandomValue());
x * spacing + xt * spacing + perlinNoise1D(RandomValue()*1024)*spacing, 0,
y * spacing + yt * spacing + perlinNoise1D(RandomValue()*1024)*spacing);
float n;
const float2 puv = float2(.5,.5) - (particles[id.x].position.xz - _GridTransform.xy) / _GridTransform.z;
const float gravDepth = Heightmap.SampleLevel(samplerHeightmap, puv, 0.0f).r;
const float headroom = ceilingHeight + gravDepth;
particles[id.x].position.y = -gravDepth + floorHeight + -floorHeight * 4 *
pow(RandomValue(), max(1, heightExponent/(headroom*headroom))) +
perlinNoise1D(RandomValue()*1024)*spacing/2;
const float3 f = flow(particles[id.x].position, n);
particles[id.x].position += f * (l * n);
const float density = d(particles[id.x].position);
particles[id.x].size = lerp(minimumSize, maximumSize, RandomValue() * n * density) * parabola(l, 2);
particles[id.x].color = HueTexture.SampleLevel(samplerHueTexture, float2(RandomValue(), 0.0f), 0.0f).rgb;
}

View file

@ -10,6 +10,7 @@ public class Stardust : MonoBehaviour
#region variables
//public bool debugLog = false;
//public float proxyPersistTime = 2;
public GameSettings Settings;
public Camera TargetCamera;
public ComputeShader ParticleCalculation;
public Material ParticleMaterial;
@ -24,11 +25,16 @@ public class Stardust : MonoBehaviour
public float Floor = -25.0f;
public float HeightExponent = 4;
public RenderTexture NebulaSurfaceHeight;
public RenderTexture NebulaPatchHeight;
public RenderTexture NebulaPatch;
public RenderTexture NebulaTint;
public Texture Heightmap;
public Texture2D ParticleColors;
//public Transform TargetTransform;
public Camera GravityCamera;
private float _flowScroll;
private const int GROUP_SIZE = 128;
private int _updateParticlesKernel;
#endregion
@ -67,7 +73,7 @@ public class Stardust : MonoBehaviour
for (int i = 0; i < Span * Span; ++i)
{
particles[i].Position = Random.insideUnitSphere * 100;
particles[i].Color = Vector3.one;//white
particles[i].Color = Vector3.one; //white
particles[i].Size = Random.value;
}
@ -98,7 +104,7 @@ public class Stardust : MonoBehaviour
ParticleCalculation.SetFloat("time", Time.time * Speed);
var pos = GravityCamera.transform.position;
ParticleCalculation.SetVector("transform", new Vector4(pos.x,pos.z,GravityCamera.orthographicSize*2));
ParticleCalculation.SetVector("_GridTransform", new Vector4(pos.x,pos.z,GravityCamera.orthographicSize*2));
ParticleCalculation.SetFloat("spacing", Spacing);
ParticleCalculation.SetFloat("ceilingHeight", Ceiling);
ParticleCalculation.SetFloat("floorHeight", Floor);
@ -109,6 +115,29 @@ public class Stardust : MonoBehaviour
ParticleCalculation.SetTexture(_updateParticlesKernel, "Heightmap", Heightmap);
ParticleCalculation.SetTexture(_updateParticlesKernel, "HueTexture", ParticleColors);
ParticleCalculation.SetTexture(_updateParticlesKernel, "_NebulaSurfaceHeight", NebulaSurfaceHeight);
ParticleCalculation.SetTexture(_updateParticlesKernel, "_NebulaPatchHeight", NebulaPatchHeight);
ParticleCalculation.SetTexture(_updateParticlesKernel, "_NebulaPatch", NebulaPatch);
ParticleCalculation.SetTexture(_updateParticlesKernel, "_NebulaTint", NebulaTint);
ParticleCalculation.SetFloat("_NebulaFillDensity", Settings.DefaultEnvironment.Nebula.FillDensity);
ParticleCalculation.SetFloat("_SafetyDistance", Settings.DefaultEnvironment.Nebula.FillDistance);
ParticleCalculation.SetFloat("_NebulaFloorDensity", Settings.DefaultEnvironment.Nebula.FloorDensity);
ParticleCalculation.SetFloat("_NebulaPatchDensity", Settings.DefaultEnvironment.Nebula.PatchDensity);
ParticleCalculation.SetFloat("_NebulaFloorOffset", Settings.DefaultEnvironment.Nebula.FloorOffset);
ParticleCalculation.SetFloat("_NebulaFloorBlend", Settings.DefaultEnvironment.Nebula.FloorBlend);
ParticleCalculation.SetFloat("_NebulaPatchBlend", Settings.DefaultEnvironment.Nebula.PatchBlend);
// Shader.SetGlobalFloat("_TintExponent", Settings.DefaultEnvironment.);
ParticleCalculation.SetFloat("_NoiseScale", Settings.DefaultEnvironment.Noise.Scale);
ParticleCalculation.SetFloat("_NoiseExponent", Settings.DefaultEnvironment.Noise.Exponent);
ParticleCalculation.SetFloat("_NoiseAmplitude", Settings.DefaultEnvironment.Noise.Amplitude);
ParticleCalculation.SetFloat("_NoiseSpeed", Settings.DefaultEnvironment.Noise.Speed);
ParticleCalculation.SetFloat("_FlowScale", Settings.DefaultEnvironment.Flow.Scale);
ParticleCalculation.SetFloat("_FlowAmplitude", Settings.DefaultEnvironment.Flow.Amplitude);
_flowScroll += Settings.DefaultEnvironment.Flow.ScrollSpeed * Time.deltaTime;
ParticleCalculation.SetFloat("_FlowScroll", _flowScroll);
ParticleCalculation.SetFloat("_FlowSpeed", Settings.DefaultEnvironment.Flow.Speed);
//Dispatch, launch threads on GPU
int numberOfGroups = Mathf.CeilToInt((float)Span * Span / GROUP_SIZE);
@ -116,7 +145,7 @@ public class Stardust : MonoBehaviour
ParticleMaterial.SetBuffer("particles", _particlesBuffer);
ParticleMaterial.SetBuffer("quadPoints", _quadPoints);
Graphics.DrawProcedural(ParticleMaterial, new Bounds(pos, Spacing * Span * Vector3.one), MeshTopology.Triangles, 6, Span * Span, TargetCamera, null, ShadowCastingMode.Off, false, 0);
Graphics.DrawProcedural(ParticleMaterial, new Bounds(pos, new Vector3(Spacing * Span, 2048, Spacing * Span)), MeshTopology.Triangles, 6, Span * Span, TargetCamera, null, ShadowCastingMode.Off, false, 0);
}
#endregion

View file

@ -61,7 +61,7 @@ Material:
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EmissionGain: 0.716
- _EmissionGain: 0.103
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@ -69,7 +69,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Power: 2
- _Power: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
@ -78,5 +78,5 @@ Material:
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _TintColor: {r: 1.4980392, g: 1.4980392, b: 1.4980392, a: 1}
- _TintColor: {r: 5.992157, g: 5.992157, b: 5.992157, a: 1}
m_BuildTextureStacks: []

View file

@ -138,7 +138,7 @@
o.uv = quadPoints[id] + 0.5f;
//transfer color of particle and global tint to vertex
o.color = float4(particles[inst].color, 1) * _TintColor * 10000 / (dist * dist);
o.color = float4(particles[inst].color * _TintColor.rgb, 10000 / (dist * dist));
o.screenPos = ComputeScreenPos(o.pos);
return o;

View file

@ -1,31 +1,13 @@
Shader "VolSample/Volume Render" {
Shader "VolSample/Volume Render Auto" {
Properties {
_MainTex( "", 2D ) = "white" {}
_StepExponent("Step Exponent", float) = 1
_Surface("Surface", 2D) = "black" {}
_Patch("Patch", 2D) = "black" {}
_Displacement("Displacement", 2D) = "black" {}
_TintTexture("Tint Texture", 2D ) = "white" {}
[HDR]_Tint("Tint Color", Color) = (1,1,1,1)
//_GridTransform("Grid Transform", Vector) = (0,0,0,0)
_GridFillDensity("Fill Density", float) = 1
_GridFloorDensity("Floor Density", float) = 1
_GridPatchDensity("Patch Density", float) = 1
_GridFloorOffset("Floor Offset", float) = 1
_GridFloorBlend("Floor Blend", float) = 1
_GridPatchBlend("Patch Blend", float) = 1
_Exposure("Exposure", float) = 1
_Gamma("Gamma", float) = .5
_TintExponent("Tint Exponent", float) = .5
_DepthCeiling("Depth Ceiling", float) = 1000
_DepthBlend("Depth Blend", float) = 100
_NoiseStrength("Noise Strength", float) = 1
_NoiseFrequency("Noise Frequency", float) = 1
_NoiseExponent("Noise Exponent", float) = 2
_NoiseSpeed("Noise Speed", float) = 1
_TurbulenceScale("Turbulence Scale", float) = 1
_TurbulenceAmplitude("Turbulence Amplitude", float) = 1
_FlowSpeed("Flow Speed", float) = 1
_SafetyDistance("Safety Distance", float) = 20
_Scattering("Scattering", float) = 1
_ScatteringMinDist("ScatteringMinDist", float) = 1
@ -80,7 +62,7 @@
col.a *= stepSize * weight;
sum.rgb += col.rgb * col.a * (1.0 - sum.a);
sum.a += col.a;
scatterSum += pow(col.a, _ScatteringDensityExponent) * scatter;
scatterSum += pow(sum.a, _ScatteringDensityExponent) * scatter;
}
float4 RayMarch( in float3 origin, in float3 direction, in float zbuf, in float2 screenUV, out float scatterSum )
@ -111,7 +93,7 @@
RaymarchStep( origin + rayDist * direction, step, 1-rayDist/_DepthCeiling, sum, _Scattering/pow(max(rayDist,_ScatteringMinDist),_ScatteringDistExponent), scatterSum);
}
sum.rgb = pow( sum.rgb, 1 / _Gamma ) * _Exposure;
sum.rgb = pow( sum.rgb / pow(100,_TintExponent), 1 / _Gamma ) * _Exposure;
return sum;
}

View file

@ -0,0 +1,236 @@
Shader "VolSample/Volume Render" {
Properties {
_MainTex( "", 2D ) = "white" {}
_StepExponent("Step Exponent", float) = 1
_NebulaSurfaceHeight("Surface Displacement", 2D) = "black" {}
_NebulaPatch("Patch", 2D) = "black" {}
_NebulaPatchHeight("Patch Displacement", 2D) = "black" {}
_NebulaTint("Tint Texture", 2D ) = "white" {}
[HDR]_Tint("Tint Color", Color) = (1,1,1,1)
//_GridTransform("Grid Transform", Vector) = (0,0,0,0)
_NebulaFillDensity("Fill Density", float) = 1
_NebulaFloorDensity("Floor Density", float) = 1
_NebulaPatchDensity("Patch Density", float) = 1
_NebulaFloorOffset("Floor Offset", float) = 1
_NebulaFloorBlend("Floor Blend", float) = 1
_NebulaPatchBlend("Patch Blend", float) = 1
_Exposure("Exposure", float) = 1
_Gamma("Gamma", float) = .5
_TintExponent("Tint Exponent", float) = .5
_DepthCeiling("Depth Ceiling", float) = 1000
_DepthBlend("Depth Blend", float) = 100
_NoiseAmplitude("Noise Amplitude", float) = 1
_NoiseScale("Noise Scale", float) = 100
_NoiseExponent("Noise Exponent", float) = 2
_NoiseSpeed("Noise Speed", float) = 1
_FlowScroll("Flow Scroll", float) = 1
_FlowScale("Flow Scale", float) = 1
_FlowAmplitude("Flow Amplitude", float) = 1
_FlowSpeed("Flow Speed", float) = 1
_SafetyDistance("Safety Distance", float) = 20
_Scattering("Scattering", float) = 1
_ScatteringMinDist("ScatteringMinDist", float) = 1
_ScatteringDistExponent("ScatteringDistExponent", float) = 1
_ScatteringDensityExponent("ScatteringDensityExponent", float) = 1
}
CGINCLUDE;
uniform sampler2D _MainTex;
uniform sampler2D _CameraDepthTexture;
#include "UnityCG.cginc"
#include "Assets/Shaders/Volumetric.cginc"
// the number of volume samples to take
#define SAMPLE_COUNT 96
// Shared shader code for pixel view rays, given screen pos and camera frame vectors.
// Camera vectors are passed in as this shader is run from a post proc camera, so the unity built-in values are not useful.
uniform float4x4 _CamProj;
uniform float4x4 _CamInvProj;
uniform float3 _CamPos;
uniform float3 _CamForward;
uniform float3 _CamRight;
uniform float _HalfFov;
uniform int _FrameNumber;
uniform float _StepExponent;
uniform half _Gamma,
_Exposure,
_DepthCeiling,
_DepthBlend,
_Scattering,
_ScatteringDensityExponent,
_ScatteringDistExponent,
_ScatteringMinDist;
// Dithering
sampler2D _DitheringTex;
float4 _DitheringCoords;
inline float nrand(float2 ScreenUVs)
{
return frac(sin(ScreenUVs.x * 12.9898 + ScreenUVs.y * 78.233) * 43758.5453);
}
void RaymarchStep( in float3 pos, in float stepSize, in float weight, inout float4 sum, in float scatter, inout float scatterSum)
{
float4 col = VolumeSampleColor( pos );
col.a *= stepSize * weight;
sum.rgb += col.rgb * col.a * (1.0 - sum.a);
sum.a += col.a;
scatterSum += pow(col.a, _ScatteringDensityExponent) * scatter;
}
float4 RayMarch( in float3 origin, in float3 direction, in float zbuf, in float2 screenUV, out float scatterSum )
{
scatterSum = 0;
float blue = tex2D(_DitheringTex, screenUV * _DitheringCoords.xy + _DitheringCoords.zw).r;
//float rand = frac(blue + _FrameNumber * 1.61803398875);
//return float4(rand, rand, rand, 1);
//half rand = frac(nrand(screenUV) + _FrameNumber * 1.61803398875);
//half rand = nrand(screenUV + frac(_Time.x));
half rand = blue;
float4 sum = (float4)0.;
scatterSum = 0.;
// setup sampling
float rayDist = 0;
for( int i = 0; i < SAMPLE_COUNT; i++ )
{
float prevRayDist = rayDist;
rayDist = pow((i+rand)/SAMPLE_COUNT,_StepExponent) * _DepthCeiling + 1;
float distToSurf = zbuf - rayDist;
if( distToSurf <= 0.001 || sum.a > .99) break;
float step = rayDist - prevRayDist;
//float wt = (distToSurf >= step) ? 1. : distToSurf / step;
RaymarchStep( origin + rayDist * direction, step, 1-rayDist/_DepthCeiling, sum, _Scattering/pow(max(rayDist,_ScatteringMinDist),_ScatteringDistExponent), scatterSum);
}
sum.rgb = pow( sum.rgb, 1 / _Gamma ) * _Exposure;
return sum;
}
struct v2f
{
float4 pos : SV_POSITION;
float4 screenPos : TEXCOORD1;
};
v2f vert( appdata_base v )
{
v2f o;
o.pos = UnityObjectToClipPos( v.vertex );
o.screenPos = ComputeScreenPos( o.pos );
return o;
}
void computeCamera( in float2 q, out float3 rayOrigin, out float3 rd )
{
rayOrigin = _WorldSpaceCameraPos;
float2 p = 2.0*(q - 0.5);
float4 d = mul(_CamProj, float4(p, 0, 1));
d.xyz /= d.w;
//rd = (d - rayOrigin);
rd = normalize(d - rayOrigin);
rayOrigin = d;
//rayOrigin += _ProjectionParams.y * rd;
}
inline float LinearEyeDepthToOutDepth(float z)
{
return (1 - _ZBufferParams.w * z) / (_ZBufferParams.z * z);
}
float3 DepthToWorld(float2 uv, float depth) {
float z = (1-depth) * 2.0 - 1.0;
float4 clipSpacePosition = float4(uv * 2.0 - 1.0, z, 1.0);
float4 viewSpacePosition = mul(_CamInvProj,clipSpacePosition);
viewSpacePosition /= viewSpacePosition.w;
float4 worldSpacePosition = mul(unity_ObjectToWorld,viewSpacePosition);
return worldSpacePosition.xyz;
}
// MRT shader
struct FragmentOutput
{
half4 dest0 : COLOR0;
half4 dest1 : COLOR1;
};
FragmentOutput frag( v2f i ) : SV_Target //out float outDepth : SV_Depth
{
FragmentOutput o;
float2 q = i.screenPos.xy / i.screenPos.w;
// camera
float3 rayOrigin, rayDirection;
computeCamera( q, rayOrigin, rayDirection );
// z buffer / scene depth for this pixel
float4 screenPos = UNITY_PROJ_COORD( i.screenPos );
float2 screenUV = screenPos.xy / screenPos.w;
float depthSample = tex2Dproj( _CameraDepthTexture, screenPos ).r;
//float depthValue = LinearEyeDepth(depthSample);
float3 worldDepth = DepthToWorld(screenPos, depthSample);
float depthValue = length(worldDepth-rayOrigin);
// march through volume
float scatter;
float4 clouds = RayMarch( rayOrigin, rayDirection, depthValue, screenUV, scatter );
o.dest1 = .5 + scatter*.5;//smoothstep(1,.99,clouds.a)*pow(clouds.a,1)*.5;
float3 bgcol = tex2Dlod( _MainTex, float4(q, 0., 0.) );
// add in camera render colours, if not zfar (so we exclude skybox)
if(clouds.a < .99 && depthValue < _DepthCeiling)
{
// Blend out camera render when outside marching range
if( depthValue >= _DepthCeiling - _DepthBlend )
clouds.a = lerp(clouds.a, 1, (depthValue - (_DepthCeiling - _DepthBlend)) / _DepthBlend);
//clouds.xyz = lerp(clouds.xyz, bgcol, 1-clouds.a);
clouds.xyz += (1. - clouds.a) * bgcol;
// assume zbuffer represents opaque surface
}
clouds.a = 1.;
//outDepth = LinearEyeDepthToOutDepth(min(depthValue, rayDist));
o.dest0 = clouds;
return o;
}
ENDCG
Subshader
{
Pass
{
ZTest Always Cull Off ZWrite Off
CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag
ENDCG
}
}
Fallback off
} // shader

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7940bc6e15d348ff930f4ebb3c475cf2
timeCreated: 1623409494

View file

@ -1,3 +1,4 @@
#include "UnityCG.cginc"
//
// Value Noise 3D Deriv
@ -35,30 +36,29 @@ float4 Value3D_Deriv( float3 P )
return float4(1,1,1,1);
}
uniform sampler2D _Surface;
float4 _Surface_TexelSize;
uniform sampler2D _Patch;
uniform sampler2D _Displacement;
uniform sampler2D _TintTexture;
float4 _TintTexture_TexelSize;
uniform sampler2D _NebulaSurfaceHeight;
float4 _NebulaSurfaceHeight_TexelSize;
uniform sampler2D _NebulaPatch;
uniform sampler2D _NebulaPatchHeight;
uniform sampler2D _NebulaTint;
float4 _NebulaTint_TexelSize;
uniform float3 _GridTransform;
uniform half4 _Tint;
uniform half _GridFillDensity,
_GridFloorDensity,
_GridPatchDensity,
_GridFloorOffset,
_GridFloorBlend,
_GridPatchBlend,
uniform half _NebulaFillDensity,
_NebulaFloorDensity,
_NebulaPatchDensity,
_NebulaFloorOffset,
_NebulaFloorBlend,
_NebulaPatchBlend,
_TintExponent,
_NoiseFrequency,
_NoiseScale,
_NoiseExponent,
_NoiseStrength,
_NoiseAmplitude,
_NoiseSpeed,
_TurbulenceScale,
_TurbulenceAmplitude,
_FlowScale,
_FlowAmplitude,
_FlowScroll,
_FlowSpeed,
_SafetyDistance;
@ -93,19 +93,19 @@ float parabola( float x, float k )
float f(float3 pos)
{
float2 uv = -(pos.xz-_GridTransform.xy)/_GridTransform.z + float2(.5,.5);
const float surface = tex2Dlod(_Surface, half4(uv, 0, 0)).r;
const float dist = pos.y + surface - _GridFloorOffset;
const float surfaceDisp = tex2Dlod(_NebulaSurfaceHeight, half4(uv, 0, 0)).r;
const float dist = pos.y + surfaceDisp - _NebulaFloorOffset;
const float fillDensity = smoothstep(_SafetyDistance,0,dist) * _GridFillDensity;
const float fillDensity = smoothstep(_SafetyDistance,0,dist) * _NebulaFillDensity;
if(dist < _SafetyDistance)
{
const float patch = tex2Dlod(_Patch, half4(uv, 0, 0)).r;
const float displacement = tex2Dlod(_Displacement, half4(uv, 0, 0)).r;
const float patch = tex2Dlod(_NebulaPatch, half4(uv, 0, 0)).r;
const float patchDisp = tex2Dlod(_NebulaPatchHeight, half4(uv, 0, 0)).r;
const float patchDensity = saturate((-abs(pos.y+displacement)+patch)/_GridPatchBlend)*_GridPatchDensity;
const float patchDensity = saturate((-abs(pos.y+patchDisp - _NebulaFloorOffset)+patch)/_NebulaPatchBlend)*_NebulaPatchDensity;
const float floorDist = -dist;
const float floorDensity = floorDist/_GridFloorBlend*_GridFloorDensity;
const float floorDensity = floorDist/_NebulaFloorBlend*_NebulaFloorDensity;
const float fogDensity = patchDensity + max(0,floorDensity);
return fogDensity + fillDensity;
}
@ -117,13 +117,13 @@ float f(float3 pos)
float3 calcNormal (float3 pos, float2 uv)
{
float3 n = float3(pos.x,
tex2D(_Surface, float2(uv.x, uv.y + _Surface_TexelSize.y)).x,
pos.z + _Surface_TexelSize.y * _GridTransform.z);
tex2D(_NebulaSurfaceHeight, float2(uv.x, uv.y + _NebulaSurfaceHeight_TexelSize.y)).x,
pos.z + _NebulaSurfaceHeight_TexelSize.y * _GridTransform.z);
float3 me = float3(pos.x,
tex2D(_Surface, float2(uv.x, uv.y)).x,
tex2D(_NebulaSurfaceHeight, float2(uv.x, uv.y)).x,
pos.z);
float3 e = float3(pos.x + _Surface_TexelSize.x * _GridTransform.z,
tex2D(_Surface, float2(uv.x + _Surface_TexelSize.x, uv.y)).x,
float3 e = float3(pos.x + _NebulaSurfaceHeight_TexelSize.x * _GridTransform.z,
tex2D(_NebulaSurfaceHeight, float2(uv.x + _NebulaSurfaceHeight_TexelSize.x, uv.y)).x,
pos.z);
float3 norm = cross(normalize(n-me),normalize(e-me));
return norm;
@ -131,11 +131,11 @@ float3 calcNormal (float3 pos, float2 uv)
float2 tintGradient (float3 pos, float2 uv, float mip, out float3 tint)
{
tint = tex2Dlod(_TintTexture, float4(uv.x, uv.y, 0, mip));
tint = tex2Dlod(_NebulaTint, float4(uv.x, uv.y, 0, mip));
float me = length(tint);
return float2(
length(tex2Dlod(_TintTexture, float4(uv.x + 0.001953125, uv.y, 0, mip))) - me,
length(tex2Dlod(_TintTexture, float4(uv.x, uv.y + 0.001953125, 0, mip))) - me
length(tex2Dlod(_NebulaTint, float4(uv.x + 0.001953125, uv.y, 0, mip))) - me,
length(tex2Dlod(_NebulaTint, float4(uv.x, uv.y + 0.001953125, 0, mip))) - me
);
}
@ -149,22 +149,26 @@ float3 calcNormal( float3 p ) // for function f(p)
k.xxx*f( p + k.xxx*h ) );
}
float3 flow(float3 pos, out float3 normal)
float3 flow(float3 pos, out float noise)
{
//float2 uv = -(pos.xz-_GridTransform.xy)/_GridTransform.z + float2(.5,.5);
normal = calcNormal(pos);
//normal = calcNormal(pos);
//return normalize(float3(-normal.x,0,-normal.z)) * _TurbulenceAmplitude;
const float4 simplex = Value3D_Deriv( pos / _TurbulenceScale - float3(0,_Time.x,0) );
return cross(normalize(simplex.yzw), normal) * _TurbulenceAmplitude * (simplex.x-.5);
const float4 noiseSample1 = Value3D_Deriv( pos / _FlowScale - float3(0,_FlowScroll,0) );
const float4 noiseSample2 = Value3D_Deriv( (pos / _FlowScale - float3(0,_FlowScroll,0)) / 1.61803398875 ); // make it golden
noise = noiseSample1.x;
return cross(normalize(noiseSample2.yzw), normalize(noiseSample1.yzw)) * _FlowAmplitude;
//return BitangentNoise3D(pos / _FlowScale - float3(0,_FlowScroll,0)) * _FlowAmplitude;
}
float d(float3 pos, out float3 normal)
float d(float3 pos)
{
const float3 turbulence = flow(pos, normal);
const float lerp1 = frac(_Time.x * _FlowSpeed);
const float lerp2 = frac(_Time.x * _FlowSpeed + .5);
const float noise1 = pow(triNoise3d((pos+turbulence * lerp1)*_NoiseFrequency),_NoiseExponent) * _NoiseStrength * parabola(lerp1, 2);
const float noise2 = pow(triNoise3d((pos+turbulence * lerp2)*_NoiseFrequency),_NoiseExponent) * _NoiseStrength * parabola(lerp2, 2);
float noise;
const float3 fl = flow(pos, noise);
const float lerp1 = frac(_Time.x * _FlowSpeed + noise);
const float lerp2 = frac(_Time.x * _FlowSpeed + noise + .5);
const float noise1 = pow(triNoise3d((pos+fl * lerp1) / _NoiseScale),_NoiseExponent) * _NoiseAmplitude * parabola(lerp1, 2);
const float noise2 = pow(triNoise3d((pos+fl * lerp2) / _NoiseScale),_NoiseExponent) * _NoiseAmplitude * parabola(lerp2, 2);
pos.y += (noise1 + noise2);
return f(pos);
}
@ -172,12 +176,12 @@ float d(float3 pos, out float3 normal)
float4 VolumeSampleColor(float3 pos)
{
float2 uv = -(pos.xz-_GridTransform.xy)/_GridTransform.z + float2(.5,.5);
float3 normal;
float density = d(pos, normal);
float3 tint = tex2Dlod(_TintTexture, float4(uv.x, uv.y, 0, 1 / pow(density, .25)));
float density = d(pos);
float3 tint = tex2Dlod(_NebulaTint, float4(uv.x, uv.y, 0, 1 / pow(density, .25)));
//float2 tintGrad = tintGradient(pos, uv, 1 / pow(density, .25), tint);
//float3 tintNormal = normalize(float3(tintGrad.x, 0, tintGrad.y));
//tint *= abs(dot(normal, float3(0,-1,0)));
const float albedo = pow(1/max(.01,density), _TintExponent) * smoothstep(0,-250,pos.y);
return float4(albedo*_Tint.rgb*tint, density);
// pow(abs(1-density), _TintExponent)
const float albedo = smoothstep(0,-250,pos.y) * pow(1/max(.01,density), _TintExponent);
return float4(albedo*tint, density);
}

View file

@ -36,15 +36,15 @@ namespace AK
static const AkUniqueID GEN_COMBAT_1_STOP = 4289205743U;
static const AkUniqueID GEN_OW_01_PLAY = 4009869725U;
static const AkUniqueID GEN_OW_01_STOP = 1900744459U;
static const AkUniqueID IONCANNON_CHARGE_PLAY = 1733674570U;
static const AkUniqueID IONCANNON_CHARGE_STOP = 3179453300U;
static const AkUniqueID IONCANNON_FAIL = 216684405U;
static const AkUniqueID IONCANNON_FIRE = 299292453U;
static const AkUniqueID IONCANNON_HIT = 1028672300U;
static const AkUniqueID IONCANNON_MISS = 4133048765U;
static const AkUniqueID IONCANNON_SHIP_DESTROYED = 3465139343U;
static const AkUniqueID KAWAII_FUTURE_BASS_PLAY = 2854353632U;
static const AkUniqueID KAWAII_FUTURE_BASS_STOP = 1197715810U;
static const AkUniqueID LASER_CHARGE_PLAY = 2438116838U;
static const AkUniqueID LASER_CHARGE_STOP = 4247541464U;
static const AkUniqueID LASER_FAIL = 2129362585U;
static const AkUniqueID LASER_FIRE = 1675087065U;
static const AkUniqueID LASER_HIT = 2023124656U;
static const AkUniqueID LASER_MISS = 2058729561U;
static const AkUniqueID LASER_SHIP_DESTROYED = 304646619U;
static const AkUniqueID LIGHTNINGGUN_CHARGE_PLAY = 2129771581U;
static const AkUniqueID LIGHTNINGGUN_CHARGE_STOP = 62119851U;
static const AkUniqueID LIGHTNINGGUN_FAIL = 1293013044U;
@ -107,14 +107,19 @@ namespace AK
namespace GAME_PARAMETERS
{
static const AkUniqueID CHARGE_LEVEL = 1574608066U;
static const AkUniqueID PERFORMANCE_DURABILITY = 965148665U;
static const AkUniqueID PERFORMANCE_QUALITY = 875134311U;
static const AkUniqueID PERFORMANCE_THERMAL = 3835443961U;
static const AkUniqueID REACTOR_LOAD = 3735272724U;
static const AkUniqueID SFX_REACTOR_ALARM = 2441699439U;
static const AkUniqueID SFX_REACTOR_DISTORTION1 = 364563454U;
static const AkUniqueID SFX_REACTOR_DISTORTION2 = 364563453U;
static const AkUniqueID SFX_REACTOR_GRAIN_SPEED = 1663874485U;
static const AkUniqueID SFX_REACTOR_PITCH = 12206642U;
static const AkUniqueID SFX_SHARED_INTENSITY = 211338040U;
static const AkUniqueID SFX_SHARED_LFO_FREQUENCY = 3222479589U;
static const AkUniqueID SFX_SHARED_LFO_INTENSITY = 561757932U;
static const AkUniqueID SFX_SHARED_PITCH = 2398401357U;
static const AkUniqueID SFX_SHARED_QUALITY = 3813090976U;
static const AkUniqueID SFX_SHIP_DRIVE_ELECTRIC_FUZZBOX_FILTER = 2008207144U;
static const AkUniqueID SFX_SHIP_DRIVE_NUCLEAR_FILTERDURATION = 255764574U;
static const AkUniqueID SFX_SHIP_DRIVE_NUCLEAR_GRAIN_SPEED_MOD = 675480480U;
@ -125,7 +130,9 @@ namespace AK
static const AkUniqueID SFX_WEAPON_LIGHTNING_GRAIN_FILTER = 3528347615U;
static const AkUniqueID SFX_WEAPON_LIGHTNING_PITCH = 1365951697U;
static const AkUniqueID SHIP_VELOCITY = 3579545711U;
static const AkUniqueID SHIP_VELOCITY_01 = 2790036083U;
static const AkUniqueID TARGET_LOCKING = 3288537160U;
static const AkUniqueID THRUSTER_THROTTLE = 4116566921U;
} // namespace GAME_PARAMETERS
namespace BANKS
@ -138,7 +145,7 @@ namespace AK
static const AkUniqueID COMBAT_GENERIC = 1516113159U;
static const AkUniqueID COMBAT_METAL = 681474673U;
static const AkUniqueID GENERAL = 133642231U;
static const AkUniqueID IONCANNON = 3364802794U;
static const AkUniqueID LASER = 3982605422U;
static const AkUniqueID LIGHTNINGGUN = 772093933U;
static const AkUniqueID MACHINEGUN = 3678545986U;
static const AkUniqueID MAIN_MENU = 2005704188U;

Binary file not shown.

BIN
GameData/PlayerSettings.msgpack (Stored with Git LFS)

Binary file not shown.

BIN
UserSettings/EditorUserSettings.asset (Stored with Git LFS)

Binary file not shown.