Demo Hotfixes
Replaced Unity TAA with PlayDead TAA Custom keyboard layout test scene Adjusted Aetheric Drive VFX to be more subtle Reworked stardust VFX to reduce flickering artifacts Added Action Bar & weapon groups saving/loading Implemented security levels and faction safe zone visualization Improved station placement (now include defensive turrets)
This commit is contained in:
parent
eb64cbf94a
commit
2c4520000b
128 changed files with 12821 additions and 561 deletions
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;AK_ENABLE_TIMELINE;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;AK_ENABLE_TIMELINE;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;AK_ENABLE_TIMELINE;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;AK_ENABLE_TIMELINE;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -21,26 +21,26 @@
|
|||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Overworld.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Menu_Music.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Default Work Unit.wwu" DateLow="1619652116" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Combat.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Combat.wwu" DateLow="1619807524" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Interactive Music Hierarchy\Boss.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\SFX.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Game Parameters\Default Work Unit.wwu" DateLow="1619652115" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\SFX.wwu" DateLow="1619769257" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\SFX.wwu" DateLow="1619766556" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Music.wwu" DateLow="1619679460" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Default Work Unit.wwu" DateLow="1619679460" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Events\Ambience.wwu" DateLow="1619672812" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Factory Effects.wwu" DateLow="1619672816" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Default Work Unit.wwu" DateLow="1619769078" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Effects\Default Work Unit.wwu" DateLow="1619765272" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Dynamic Dialogue\Default Work Unit.wwu" DateLow="1619652116" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Conversion Settings\Factory Conversion Settings.wwu" DateLow="1619672900" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Conversion Settings\Default Work Unit.wwu" DateLow="1619652116" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Control Surface Sessions\Default Work Unit.wwu" DateLow="1619652116" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Audio Devices\Default Work Unit.wwu" DateLow="1619652115" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Attenuations\Default Work Unit.wwu" DateLow="1619769078" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Attenuations\Default Work Unit.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Aetheria-Economy_WwiseProject.wproj" DateLow="1619761573" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Aetheria-Economy_WwiseProject.rwvens.wsettings" DateLow="1619766556" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\UI.wwu" DateLow="1619672610" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\SFX.wwu" DateLow="1619769078" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\SFX.wwu" DateLow="1619766556" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\Default Work Unit.wwu" DateLow="1619672898" DateHigh="0"/>
|
||||
<ValidationCacheItem File="E:\Projects\Aetheria-Economy\Aetheria-Economy_WwiseProject\Actor-Mixer Hierarchy\Ambience AM Unit.wwu" DateLow="1619672812" DateHigh="0"/>
|
||||
</ValidationCache>
|
||||
|
|
|
|||
|
|
@ -133,7 +133,13 @@
|
|||
<Property Name="MonitoringManager\GameObjectFilter\GameObjectFilterVersion" Type="int32" Value="1"/>
|
||||
<Property Name="MonitoringManager\GameObjectFilter\GameObjectFiltersEnable" Type="bool" Value="True"/>
|
||||
<Property Name="MonitoringManager\GameObjectFilter\x64_GameObjectFilters" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{049E3E09-0B7D-43E8-959B-B7D3490BA9FF}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{52FD8D73-17FB-445D-A484-9FA4BA1B8CF2}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{6417DAE3-2CE0-4409-9D8B-AD00F5BD2B20}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{7941F6A9-6948-41DA-8B46-8A33499165EB}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{965684F1-9F1B-4517-B1A1-BE20AB8F937A}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{A63A6F6B-5A29-43FE-815C-1CE54D8891E4}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{C6B1FBBE-AA88-4FD8-9CFA-0CA4BB81701E}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="Music Transition List\{EE7EB190-D721-4534-9D41-AEF918FBC7D0}\x64_Expand States" Type="string" Value=""/>
|
||||
<Property Name="OverrideCacheFolder\Active" Type="bool" Value="False"/>
|
||||
<Property Name="OverrideCacheFolder\Path" Type="string" Value=".cache"/>
|
||||
|
|
|
|||
|
|
@ -126,6 +126,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{AB33CF31-1C67-4483-BA8B-78603B9CC4B7}" ShortID="1042679147">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{FD8186D6-1C36-4DF1-B13F-9E581C0FA0C0}" ShortID="845067479">
|
||||
<PropertyList>
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{B4C41D28-70E3-4666-BE24-EA67A1D2FAA4}" ShortID="70896191">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{88A86E5A-A33A-4ECE-8FB8-94E8548C899C}" ShortID="926510559">
|
||||
<PropertyList>
|
||||
|
|
@ -263,6 +266,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{F68CEE96-BFC2-473E-A458-DB293F8D3529}" ShortID="30983012">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{62CBA784-6D63-4FBD-BFB5-D970D54C90F9}" ShortID="705207771">
|
||||
<PropertyList>
|
||||
|
|
|
|||
|
|
@ -130,6 +130,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{882F231E-A9BB-4C90-B586-CA66026E1358}" ShortID="235781223">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{0D23C859-1700-4468-AA10-ECFD8140F005}" ShortID="684533752">
|
||||
<PropertyList>
|
||||
|
|
@ -262,6 +265,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{C98A423B-4402-446C-81BD-77306CD02B88}" ShortID="164673923">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{C1919745-9E3C-4DB0-8024-3474B337DB1E}" ShortID="924149987">
|
||||
<PropertyList>
|
||||
|
|
@ -394,6 +400,9 @@
|
|||
<ObjectLists/>
|
||||
<Playlist>
|
||||
<MusicPlaylistItem Name="" ID="{54EFAA41-F550-4B7B-B34E-AA83DA014D17}" ShortID="470153105">
|
||||
<PropertyList>
|
||||
<Property Name="LoopCount" Type="int16" Value="0"/>
|
||||
</PropertyList>
|
||||
<ChildrenList>
|
||||
<MusicPlaylistItem Name="" ID="{13C80B06-9EEF-457D-80FE-49AC86AC05A8}" ShortID="560594703">
|
||||
<PropertyList>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>Temp\Bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE;UNITY_2020_3_2;UNITY_2020_3;UNITY_2020;UNITY_5_3_OR_NEWER;UNITY_5_4_OR_NEWER;UNITY_5_5_OR_NEWER;UNITY_5_6_OR_NEWER;UNITY_2017_1_OR_NEWER;UNITY_2017_2_OR_NEWER;UNITY_2017_3_OR_NEWER;UNITY_2017_4_OR_NEWER;UNITY_2018_1_OR_NEWER;UNITY_2018_2_OR_NEWER;UNITY_2018_3_OR_NEWER;UNITY_2018_4_OR_NEWER;UNITY_2019_1_OR_NEWER;UNITY_2019_2_OR_NEWER;UNITY_2019_3_OR_NEWER;UNITY_2019_4_OR_NEWER;UNITY_2020_1_OR_NEWER;UNITY_2020_2_OR_NEWER;UNITY_2020_3_OR_NEWER;PLATFORM_ARCH_64;UNITY_64;UNITY_INCLUDE_TESTS;USE_SEARCH_ENGINE_API;SCENE_TEMPLATE_MODULE;ENABLE_AR;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_EVENT_QUEUE;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_TEXTURE_STREAMING;ENABLE_VIRTUALTEXTURING;ENABLE_UNET;ENABLE_LZMA;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_UNITYWEBREQUEST;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_COLLAB;ENABLE_CLOUD_SERVICES_COLLAB_SOFTLOCKS;ENABLE_CLOUD_SERVICES_ADS;ENABLE_CLOUD_SERVICES_USE_WEBREQUEST;ENABLE_CLOUD_SERVICES_CRASH_REPORTING;ENABLE_CLOUD_SERVICES_PURCHASING;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_SERVICES_BUILD;ENABLE_CLOUD_LICENSE;ENABLE_EDITOR_HUB_LICENSE;ENABLE_WEBSOCKET_CLIENT;ENABLE_DIRECTOR_AUDIO;ENABLE_DIRECTOR_TEXTURE;ENABLE_MANAGED_JOBS;ENABLE_MANAGED_TRANSFORM_JOBS;ENABLE_MANAGED_ANIMATION_JOBS;ENABLE_MANAGED_AUDIO_JOBS;INCLUDE_DYNAMIC_GI;ENABLE_MONO_BDWGC;ENABLE_SCRIPTING_GC_WBARRIERS;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_VIDEO;PLATFORM_STANDALONE;PLATFORM_STANDALONE_WIN;UNITY_STANDALONE_WIN;UNITY_STANDALONE;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_OUT_OF_PROCESS_CRASH_HANDLER;ENABLE_CLUSTER_SYNC;ENABLE_CLUSTERINPUT;PLATFORM_UPDATES_TIME_OUTSIDE_OF_PLAYER_LOOP;GFXDEVICE_WAITFOREVENT_MESSAGEPUMP;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;NET_4_6;ENABLE_PROFILER;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_WIN;ENABLE_UNITY_COLLECTIONS_CHECKS;ENABLE_BURST_AOT;UNITY_TEAM_LICENSE;ENABLE_CUSTOM_RENDER_TEXTURE;ENABLE_DIRECTOR;ENABLE_LOCALIZATION;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_TILEMAP;ENABLE_TIMELINE;ENABLE_INPUT_SYSTEM;UNITY_POST_PROCESSING_STACK_V2;TEST_MSAGL;REPORTING;PERSISTENCE;SUBSTANCE_PLUGIN_ENABLED;CSHARP_7_OR_LATER;CSHARP_7_3_OR_NEWER;DEVELOPMENT_BUILD</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
|
|
|
|||
14
Assets/InputDisplayKey.cs
Normal file
14
Assets/InputDisplayKey.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InputDisplayKey : MonoBehaviour
|
||||
{
|
||||
public TextMeshProUGUI First;
|
||||
public TextMeshProUGUI Second;
|
||||
public Image Fill;
|
||||
public Image Outline;
|
||||
public LayoutElement LayoutElement;
|
||||
}
|
||||
11
Assets/InputDisplayKey.cs.meta
Normal file
11
Assets/InputDisplayKey.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e0aa077d998d3a249aefd2ed70f4d099
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
111
Assets/InputDisplayLayout.cs
Normal file
111
Assets/InputDisplayLayout.cs
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InputDisplayLayout : MonoBehaviour
|
||||
{
|
||||
public TextAsset LayoutFile;
|
||||
public Prototype RowPrototype;
|
||||
public Prototype RowSpacerPrototype;
|
||||
public int KeySize = 64;
|
||||
|
||||
void Start()
|
||||
{
|
||||
var nextWidth = 1f;
|
||||
var nextHeight = 1f;
|
||||
var reader = new JsonTextReader(new StringReader(LayoutFile.text));
|
||||
reader.Read();
|
||||
if (reader.TokenType != JsonToken.StartArray)
|
||||
{
|
||||
Debug.Log($"Unexpected JSON format in line {reader.LineNumber}:{reader.LinePosition}");
|
||||
return;
|
||||
}
|
||||
while(reader.Read() && reader.TokenType != JsonToken.EndArray)
|
||||
{
|
||||
if (reader.TokenType != JsonToken.StartArray)
|
||||
{
|
||||
Debug.Log($"Unexpected JSON format in line {reader.LineNumber}:{reader.LinePosition}");
|
||||
return;
|
||||
}
|
||||
|
||||
var row = RowPrototype.Instantiate<InputDisplayRow>();
|
||||
|
||||
while (reader.Read() && reader.TokenType != JsonToken.EndArray)
|
||||
{
|
||||
switch (reader.TokenType)
|
||||
{
|
||||
case JsonToken.StartObject:
|
||||
while(reader.Read() && reader.TokenType != JsonToken.EndObject)
|
||||
{
|
||||
switch (reader.Value.ToString())
|
||||
{
|
||||
case "a": break;
|
||||
case "w":
|
||||
nextWidth = (float) (reader.ReadAsDouble() ?? 1.0);
|
||||
break;
|
||||
case "h":
|
||||
nextHeight = (float) (reader.ReadAsDouble() ?? 1.0);
|
||||
break;
|
||||
case "y":
|
||||
RowSpacerPrototype.Instantiate<LayoutElement>().preferredHeight = KeySize * (float) (reader.ReadAsDouble() ?? 0.0);
|
||||
row.transform.SetAsLastSibling();
|
||||
break;
|
||||
case "x":
|
||||
row.KeySpacerPrototype.Instantiate<LayoutElement>().preferredWidth = KeySize * (float) (reader.ReadAsDouble() ?? 0.0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case JsonToken.String:
|
||||
var key = row.KeyPrototype.Instantiate<InputDisplayKey>();
|
||||
var v = reader.Value.ToString().Trim();
|
||||
if (!string.IsNullOrEmpty(v))
|
||||
{
|
||||
var labels = v.Split('\n');
|
||||
if (labels.Length == 2)
|
||||
{
|
||||
key.First.text = labels[1];
|
||||
key.Second.text = labels[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
key.First.text = v;
|
||||
key.Second.text = "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
key.First.text = "";
|
||||
key.Second.text = "";
|
||||
}
|
||||
|
||||
key.LayoutElement.preferredHeight = KeySize;
|
||||
key.LayoutElement.preferredWidth = KeySize * nextWidth;
|
||||
nextWidth = 1f;
|
||||
if (Math.Abs(nextHeight - 1f) > .01f)
|
||||
{
|
||||
key.Outline.rectTransform.anchorMin =
|
||||
key.First.rectTransform.anchorMin =
|
||||
key.Second.rectTransform.anchorMin =
|
||||
key.Fill.rectTransform.anchorMin = Vector2.down * (nextHeight-1);
|
||||
}
|
||||
nextHeight = 1f;
|
||||
break;
|
||||
default:
|
||||
Debug.Log($"Unexpected JSON format in line {reader.LineNumber}:{reader.LinePosition}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
11
Assets/InputDisplayLayout.cs.meta
Normal file
11
Assets/InputDisplayLayout.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5ac50145a005ca340837d054dc1d03f3
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/InputDisplayRow.cs
Normal file
9
Assets/InputDisplayRow.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class InputDisplayRow : MonoBehaviour
|
||||
{
|
||||
public Prototype KeyPrototype;
|
||||
public Prototype KeySpacerPrototype;
|
||||
}
|
||||
11
Assets/InputDisplayRow.cs.meta
Normal file
11
Assets/InputDisplayRow.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6b0e4442eab42ac4e97e2c69d5c99ebc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
19
Assets/InputLayout.cs
Normal file
19
Assets/InputLayout.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
|
||||
using MessagePack;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
public class InputLayout
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[MessagePackObject, JsonObject(MemberSerialization.OptIn)]
|
||||
public class InputLayoutKey
|
||||
{
|
||||
[Key(0), JsonProperty("mainLabel")] public string MainLabel;
|
||||
[Key(1), JsonProperty("altLabel")] public string AltLabel;
|
||||
[Key(2), JsonProperty("path")] public string InputSystemPath;
|
||||
[Key(3), JsonProperty("width")] public float Width;
|
||||
[Key(4), JsonProperty("height")] public int Height;
|
||||
}
|
||||
3
Assets/InputLayout.cs.meta
Normal file
3
Assets/InputLayout.cs.meta
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 38e9edaa6cec49b19bc6b3f23168fd2d
|
||||
timeCreated: 1619983485
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
%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: Dithered Particle Trail AetherDrive
|
||||
m_Shader: {fileID: 4800000, guid: 46776b9fa35a437448f683f31b04d68d, 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: 2800000, guid: 1d6eba2a167939a468c00fda35723dd0, type: 3}
|
||||
m_Scale: {x: 0, y: 1}
|
||||
m_Offset: {x: 0.5, 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: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 95.87451, g: 95.87451, b: 95.87451, a: 0.5019608}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 555ada90c0f01654a9387483bd95a688
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
104
Assets/Materials/UI/Map Influence.mat
Normal file
104
Assets/Materials/UI/Map Influence.mat
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
%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: Map Influence
|
||||
m_Shader: {fileID: 4800000, guid: b54e04e391774a2289f8de9a13045f3d, type: 3}
|
||||
m_ShaderKeywords: SCREEN_SPACE
|
||||
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}
|
||||
- _DetailTex:
|
||||
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: 8400000, guid: 9c4523304810d514b9670f6e6fa71b39, type: 2}
|
||||
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:
|
||||
- _Blend: 0.2
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _FillAlpha: 0.4
|
||||
- _FillBlend: 20
|
||||
- _FillBorderBlend: 0.05
|
||||
- _FillTiling: 1024
|
||||
- _FillTilt: 0.785
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _PatternBlend: 0.25
|
||||
- _PatternOffset: -0.75
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _Stroke: 4
|
||||
- _StrokeBlend: 0.25
|
||||
- _StrokeTransitionBlend: 1
|
||||
- _Threshold: 1
|
||||
- _UVSec: 0
|
||||
- _UseScreenSpace: 1
|
||||
- _UseUIAlphaClip: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color1: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Color2: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/Materials/UI/Map Influence.mat.meta
Normal file
8
Assets/Materials/UI/Map Influence.mat.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bb2e981dfdefd024692ad49294e51a23
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
104
Assets/Materials/UI/Minimap Influence.mat
Normal file
104
Assets/Materials/UI/Minimap Influence.mat
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
%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: Minimap Influence
|
||||
m_Shader: {fileID: 4800000, guid: b54e04e391774a2289f8de9a13045f3d, 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}
|
||||
- _DetailTex:
|
||||
m_Texture: {fileID: 8400000, guid: 062a14e7a1633d54babe1abee2d80c8d, type: 2}
|
||||
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: 8400000, guid: 9c4523304810d514b9670f6e6fa71b39, type: 2}
|
||||
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:
|
||||
- _Blend: 0.2
|
||||
- _BumpScale: 1
|
||||
- _ColorMask: 15
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _FillAlpha: 0.4
|
||||
- _FillBlend: 20
|
||||
- _FillBorderBlend: 0.05
|
||||
- _FillTiling: 256
|
||||
- _FillTilt: 0.785
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _Metallic: 0
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _PatternBlend: 0.25
|
||||
- _PatternOffset: -0.75
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _Stroke: 4
|
||||
- _StrokeBlend: 0.25
|
||||
- _StrokeTransitionBlend: 1
|
||||
- _Threshold: 1
|
||||
- _UVSec: 0
|
||||
- _UseScreenSpace: 0
|
||||
- _UseUIAlphaClip: 0
|
||||
- _ZWrite: 1
|
||||
m_Colors:
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _Color1: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _Color2: {r: 1, g: 0, b: 0, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
8
Assets/Materials/UI/Minimap Influence.mat.meta
Normal file
8
Assets/Materials/UI/Minimap Influence.mat.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f965075cca2ff2943ad339387269e057
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Plugins/PDTAA.meta
Normal file
8
Assets/Plugins/PDTAA.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 427395ce555f40649b294dbc76cd84b4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/Plugins/PDTAA/Scenes.meta
Normal file
9
Assets/Plugins/PDTAA/Scenes.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 84601beb499ecf74f8daebb154302aab
|
||||
folderAsset: yes
|
||||
timeCreated: 1457526840
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
3329
Assets/Plugins/PDTAA/Scenes/Example.unity
Normal file
3329
Assets/Plugins/PDTAA/Scenes/Example.unity
Normal file
File diff suppressed because it is too large
Load diff
8
Assets/Plugins/PDTAA/Scenes/Example.unity.meta
Normal file
8
Assets/Plugins/PDTAA/Scenes/Example.unity.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7b926f3795cf3f3468014ed343f77d48
|
||||
timeCreated: 1457528618
|
||||
licenseType: Free
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
2971
Assets/Plugins/PDTAA/Scenes/Example2.unity
Normal file
2971
Assets/Plugins/PDTAA/Scenes/Example2.unity
Normal file
File diff suppressed because it is too large
Load diff
7
Assets/Plugins/PDTAA/Scenes/Example2.unity.meta
Normal file
7
Assets/Plugins/PDTAA/Scenes/Example2.unity.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 01b560b381e0b844ab415868c2aab36b
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
63
Assets/Plugins/PDTAA/Scenes/Example2Settings.lighting
Normal file
63
Assets/Plugins/PDTAA/Scenes/Example2Settings.lighting
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!850595691 &4890085278179872738
|
||||
LightingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Example2Settings
|
||||
serializedVersion: 3
|
||||
m_GIWorkflowMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 0
|
||||
m_BakeBackend: 0
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_TextureCompression: 1
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAO: 0
|
||||
m_MixedBakeMode: 1
|
||||
m_LightmapsBakeMode: 1
|
||||
m_FilterMode: 1
|
||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_RealtimeResolution: 2
|
||||
m_ForceWhiteAlbedo: 0
|
||||
m_ForceUpdates: 0
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherFiltering: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 43d0b8710108a7342b2ba1d10fc8206f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
63
Assets/Plugins/PDTAA/Scenes/ExampleSettings.lighting
Normal file
63
Assets/Plugins/PDTAA/Scenes/ExampleSettings.lighting
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!850595691 &4890085278179872738
|
||||
LightingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ExampleSettings
|
||||
serializedVersion: 3
|
||||
m_GIWorkflowMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_RealtimeEnvironmentLighting: 1
|
||||
m_BounceScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_UsingShadowmask: 0
|
||||
m_BakeBackend: 0
|
||||
m_LightmapMaxSize: 1024
|
||||
m_BakeResolution: 40
|
||||
m_Padding: 2
|
||||
m_TextureCompression: 1
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAO: 0
|
||||
m_MixedBakeMode: 1
|
||||
m_LightmapsBakeMode: 1
|
||||
m_FilterMode: 1
|
||||
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_RealtimeResolution: 2
|
||||
m_ForceWhiteAlbedo: 0
|
||||
m_ForceUpdates: 0
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_FinalGatherFiltering: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVREnvironmentSampleCount: 512
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_PVRBounces: 2
|
||||
m_PVRMinBounces: 2
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1c55129e293c5ff4b9633c77e1ac6f25
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 4890085278179872738
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/Plugins/PDTAA/Scripts.meta
Normal file
9
Assets/Plugins/PDTAA/Scripts.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d7fcd113946fe884682affa68d7a9a8a
|
||||
folderAsset: yes
|
||||
timeCreated: 1437990609
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
130
Assets/Plugins/PDTAA/Scripts/EffectBase.cs
Normal file
130
Assets/Plugins/PDTAA/Scripts/EffectBase.cs
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
public abstract class EffectBase : MonoBehaviour
|
||||
{
|
||||
public void EnsureArray<T>(ref T[] array, int size, T initialValue = default(T))
|
||||
{
|
||||
if (array == null || array.Length != size)
|
||||
{
|
||||
array = new T[size];
|
||||
for (int i = 0; i != size; i++)
|
||||
array[i] = initialValue;
|
||||
}
|
||||
}
|
||||
|
||||
public void EnsureArray<T>(ref T[,] array, int size0, int size1, T defaultValue = default(T))
|
||||
{
|
||||
if (array == null || array.Length != size0 * size1)
|
||||
{
|
||||
array = new T[size0, size1];
|
||||
for (int i = 0; i != size0; i++)
|
||||
{
|
||||
for (int j = 0; j != size1; j++)
|
||||
array[i, j] = defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void EnsureMaterial(ref Material material, Shader shader)
|
||||
{
|
||||
if (shader != null)
|
||||
{
|
||||
if (material == null || material.shader != shader)
|
||||
material = new Material(shader);
|
||||
if (material != null)
|
||||
material.hideFlags = HideFlags.DontSave;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning("missing shader", this);
|
||||
}
|
||||
}
|
||||
|
||||
public void EnsureDepthTexture(Camera camera)
|
||||
{
|
||||
if ((camera.depthTextureMode & DepthTextureMode.Depth) == 0)
|
||||
camera.depthTextureMode |= DepthTextureMode.Depth;
|
||||
}
|
||||
|
||||
public void EnsureKeyword(Material material, string name, bool enabled)
|
||||
{
|
||||
if (enabled != material.IsKeywordEnabled(name))
|
||||
{
|
||||
if (enabled)
|
||||
material.EnableKeyword(name);
|
||||
else
|
||||
material.DisableKeyword(name);
|
||||
}
|
||||
}
|
||||
|
||||
public bool EnsureRenderTarget(ref RenderTexture rt, int width, int height, RenderTextureFormat format, FilterMode filterMode, int depthBits = 0, int antiAliasing = 1)
|
||||
{
|
||||
if (rt != null && (rt.width != width || rt.height != height || rt.format != format || rt.filterMode != filterMode || rt.antiAliasing != antiAliasing))
|
||||
{
|
||||
RenderTexture.ReleaseTemporary(rt);
|
||||
rt = null;
|
||||
}
|
||||
if (rt == null)
|
||||
{
|
||||
rt = RenderTexture.GetTemporary(width, height, depthBits, format, RenderTextureReadWrite.Default, antiAliasing);
|
||||
rt.filterMode = filterMode;
|
||||
rt.wrapMode = TextureWrapMode.Clamp;
|
||||
return true;// new target
|
||||
}
|
||||
return false;// same target
|
||||
}
|
||||
|
||||
public void ReleaseRenderTarget(ref RenderTexture rt)
|
||||
{
|
||||
if (rt != null)
|
||||
{
|
||||
RenderTexture.ReleaseTemporary(rt);
|
||||
rt = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void DrawFullscreenQuad()
|
||||
{
|
||||
GL.PushMatrix();
|
||||
GL.LoadOrtho();
|
||||
GL.Begin(GL.QUADS);
|
||||
{
|
||||
GL.MultiTexCoord2(0, 0.0f, 0.0f);
|
||||
GL.Vertex3(0.0f, 0.0f, 0.0f); // BL
|
||||
|
||||
GL.MultiTexCoord2(0, 1.0f, 0.0f);
|
||||
GL.Vertex3(1.0f, 0.0f, 0.0f); // BR
|
||||
|
||||
GL.MultiTexCoord2(0, 1.0f, 1.0f);
|
||||
GL.Vertex3(1.0f, 1.0f, 0.0f); // TR
|
||||
|
||||
GL.MultiTexCoord2(0, 0.0f, 1.0f);
|
||||
GL.Vertex3(0.0f, 1.0f, 0.0f); // TL
|
||||
}
|
||||
GL.End();
|
||||
GL.PopMatrix();
|
||||
}
|
||||
|
||||
public void DrawFullscreenTri()
|
||||
{
|
||||
GL.PushMatrix();
|
||||
GL.LoadOrtho();
|
||||
GL.Begin(GL.TRIANGLES);
|
||||
{
|
||||
GL.MultiTexCoord2(0, 0.0f, 0.0f);
|
||||
GL.Vertex3(0.0f, 0.0f, 0.0f);
|
||||
|
||||
GL.MultiTexCoord2(0, 2.0f, 0.0f);
|
||||
GL.Vertex3(2.0f, 0.0f, 0.0f);
|
||||
|
||||
GL.MultiTexCoord2(0, 0.0f, 2.0f);
|
||||
GL.Vertex3(0.0f, 2.0f, 0.0f);
|
||||
}
|
||||
GL.End();
|
||||
GL.PopMatrix();
|
||||
}
|
||||
}
|
||||
12
Assets/Plugins/PDTAA/Scripts/EffectBase.cs.meta
Normal file
12
Assets/Plugins/PDTAA/Scripts/EffectBase.cs.meta
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4e5bbb5f788c9d84d8173556caa0b920
|
||||
timeCreated: 1438002115
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
172
Assets/Plugins/PDTAA/Scripts/Extensions.cs
Normal file
172
Assets/Plugins/PDTAA/Scripts/Extensions.cs
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#if UNITY_5_5_OR_NEWER
|
||||
#define SUPPORT_STEREO
|
||||
#endif
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
public static class Vector2Extension
|
||||
{
|
||||
// positive if v2 is on the left side of v1
|
||||
public static float SignedAngle(this Vector2 v1, Vector2 v2)
|
||||
{
|
||||
Vector2 n1 = v1.normalized;
|
||||
Vector2 n2 = v2.normalized;
|
||||
|
||||
float dot = Vector2.Dot(n1, n2);
|
||||
if (dot > 1.0f)
|
||||
dot = 1.0f;
|
||||
if (dot < -1.0f)
|
||||
dot = -1.0f;
|
||||
|
||||
float theta = Mathf.Acos(dot);
|
||||
float sgn = Vector2.Dot(new Vector2(-n1.y, n1.x), n2);
|
||||
if (sgn >= 0.0f)
|
||||
return theta;
|
||||
else
|
||||
return -theta;
|
||||
}
|
||||
|
||||
public static Vector2 Rotate(this Vector2 v, float theta)
|
||||
{
|
||||
float cs = Mathf.Cos(theta);
|
||||
float sn = Mathf.Sin(theta);
|
||||
float x1 = v.x * cs - v.y * sn;
|
||||
float y1 = v.x * sn + v.y * cs;
|
||||
return new Vector2(x1, y1);
|
||||
}
|
||||
}
|
||||
|
||||
public static class Vector3Extension
|
||||
{
|
||||
public static Vector3 WithX(this Vector3 v, float x)
|
||||
{
|
||||
return new Vector3(x, v.y, v.z);
|
||||
}
|
||||
|
||||
public static Vector3 WithY(this Vector3 v, float y)
|
||||
{
|
||||
return new Vector3(v.x, y, v.z);
|
||||
}
|
||||
|
||||
public static Vector3 WithZ(this Vector3 v, float z)
|
||||
{
|
||||
return new Vector3(v.x, v.y, z);
|
||||
}
|
||||
}
|
||||
|
||||
public static class Matrix4x4Extension
|
||||
{
|
||||
public static Matrix4x4 GetPerspectiveProjection(float left, float right, float bottom, float top, float near, float far)
|
||||
{
|
||||
float x = (2.0f * near) / (right - left);
|
||||
float y = (2.0f * near) / (top - bottom);
|
||||
float a = (right + left) / (right - left);
|
||||
float b = (top + bottom) / (top - bottom);
|
||||
float c = -(far + near) / (far - near);
|
||||
float d = -(2.0f * far * near) / (far - near);
|
||||
float e = -1.0f;
|
||||
|
||||
Matrix4x4 m = new Matrix4x4();
|
||||
m[0, 0] = x; m[0, 1] = 0; m[0, 2] = a; m[0, 3] = 0;
|
||||
m[1, 0] = 0; m[1, 1] = y; m[1, 2] = b; m[1, 3] = 0;
|
||||
m[2, 0] = 0; m[2, 1] = 0; m[2, 2] = c; m[2, 3] = d;
|
||||
m[3, 0] = 0; m[3, 1] = 0; m[3, 2] = e; m[3, 3] = 0;
|
||||
return m;
|
||||
}
|
||||
|
||||
public static Matrix4x4 GetOrthographicProjection(float left, float right, float bottom, float top, float near, float far)
|
||||
{
|
||||
float x = 2.0f / (right - left);
|
||||
float y = 2.0f / (top - bottom);
|
||||
float z = -2.0f / (far - near);
|
||||
float a = -(right + left) / (right - left);
|
||||
float b = -(top + bottom) / (top - bottom);
|
||||
float c = -(far + near) / (far - near);
|
||||
float d = 1.0f;
|
||||
|
||||
Matrix4x4 m = new Matrix4x4();
|
||||
m[0, 0] = x; m[0, 1] = 0; m[0, 2] = 0; m[0, 3] = a;
|
||||
m[1, 0] = 0; m[1, 1] = y; m[1, 2] = 0; m[1, 3] = b;
|
||||
m[2, 0] = 0; m[2, 1] = 0; m[2, 2] = z; m[2, 3] = c;
|
||||
m[3, 0] = 0; m[3, 1] = 0; m[3, 2] = 0; m[3, 3] = d;
|
||||
return m;
|
||||
}
|
||||
}
|
||||
|
||||
public static class CameraExtension
|
||||
{
|
||||
public static Vector4 GetProjectionExtents(this Camera camera)
|
||||
{
|
||||
return GetProjectionExtents(camera, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
public static Vector4 GetProjectionExtents(this Camera camera, float texelOffsetX, float texelOffsetY)
|
||||
{
|
||||
if (camera == null)
|
||||
return Vector4.zero;
|
||||
|
||||
float oneExtentY = camera.orthographic ? camera.orthographicSize : Mathf.Tan(0.5f * Mathf.Deg2Rad * camera.fieldOfView);
|
||||
float oneExtentX = oneExtentY * camera.aspect;
|
||||
float texelSizeX = oneExtentX / (0.5f * camera.pixelWidth);
|
||||
float texelSizeY = oneExtentY / (0.5f * camera.pixelHeight);
|
||||
float oneJitterX = texelSizeX * texelOffsetX;
|
||||
float oneJitterY = texelSizeY * texelOffsetY;
|
||||
|
||||
return new Vector4(oneExtentX, oneExtentY, oneJitterX, oneJitterY);// xy = frustum extents at distance 1, zw = jitter at distance 1
|
||||
}
|
||||
|
||||
#if SUPPORT_STEREO
|
||||
public static Vector4 GetProjectionExtents(this Camera camera, Camera.StereoscopicEye eye)
|
||||
{
|
||||
return GetProjectionExtents(camera, eye, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
public static Vector4 GetProjectionExtents(this Camera camera, Camera.StereoscopicEye eye, float texelOffsetX, float texelOffsetY)
|
||||
{
|
||||
Matrix4x4 inv = Matrix4x4.Inverse(camera.GetStereoProjectionMatrix(eye));
|
||||
Vector3 ray00 = inv.MultiplyPoint3x4(new Vector3(-1.0f, -1.0f, 0.95f));
|
||||
Vector3 ray11 = inv.MultiplyPoint3x4(new Vector3(1.0f, 1.0f, 0.95f));
|
||||
|
||||
ray00 /= -ray00.z;
|
||||
ray11 /= -ray11.z;
|
||||
|
||||
float oneExtentX = 0.5f * (ray11.x - ray00.x);
|
||||
float oneExtentY = 0.5f * (ray11.y - ray00.y);
|
||||
float texelSizeX = oneExtentX / (0.5f * camera.pixelWidth);
|
||||
float texelSizeY = oneExtentY / (0.5f * camera.pixelHeight);
|
||||
float oneJitterX = 0.5f * (ray11.x + ray00.x) + texelSizeX * texelOffsetX;
|
||||
float oneJitterY = 0.5f * (ray11.y + ray00.y) + texelSizeY * texelOffsetY;
|
||||
|
||||
return new Vector4(oneExtentX, oneExtentY, oneJitterX, oneJitterY);// xy = frustum extents at distance 1, zw = jitter at distance 1
|
||||
}
|
||||
#endif
|
||||
|
||||
public static Matrix4x4 GetProjectionMatrix(this Camera camera)
|
||||
{
|
||||
return GetProjectionMatrix(camera, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
public static Matrix4x4 GetProjectionMatrix(this Camera camera, float texelOffsetX, float texelOffsetY)
|
||||
{
|
||||
if (camera == null)
|
||||
return Matrix4x4.identity;
|
||||
|
||||
Vector4 extents = GetProjectionExtents(camera, texelOffsetX, texelOffsetY);
|
||||
|
||||
float cf = camera.farClipPlane;
|
||||
float cn = camera.nearClipPlane;
|
||||
float xm = extents.z - extents.x;
|
||||
float xp = extents.z + extents.x;
|
||||
float ym = extents.w - extents.y;
|
||||
float yp = extents.w + extents.y;
|
||||
|
||||
if (camera.orthographic)
|
||||
return Matrix4x4Extension.GetOrthographicProjection(xm, xp, ym, yp, cn, cf);
|
||||
else
|
||||
return Matrix4x4Extension.GetPerspectiveProjection(xm * cn, xp * cn, ym * cn, yp * cn, cn, cf);
|
||||
}
|
||||
}
|
||||
12
Assets/Plugins/PDTAA/Scripts/Extensions.cs.meta
Normal file
12
Assets/Plugins/PDTAA/Scripts/Extensions.cs.meta
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e8364b88f137b7844ab5b8ca8776f54f
|
||||
timeCreated: 1437997052
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
328
Assets/Plugins/PDTAA/Scripts/FrustumJitter.cs
Normal file
328
Assets/Plugins/PDTAA/Scripts/FrustumJitter.cs
Normal file
|
|
@ -0,0 +1,328 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#if UNITY_5_5_OR_NEWER
|
||||
#define SUPPORT_STEREO
|
||||
#endif
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
[ExecuteInEditMode]
|
||||
[RequireComponent(typeof(Camera))]
|
||||
[AddComponentMenu("Playdead/FrustumJitter")]
|
||||
public class FrustumJitter : MonoBehaviour
|
||||
{
|
||||
#region Static point data
|
||||
private static float[] points_Still = new float[] {
|
||||
0.5f, 0.5f,
|
||||
};
|
||||
private static float[] points_Uniform2 = new float[] {
|
||||
-0.25f, -0.25f,//ll
|
||||
0.25f, 0.25f,//ur
|
||||
};
|
||||
private static float[] points_Uniform4 = new float[] {
|
||||
-0.25f, -0.25f,//ll
|
||||
0.25f, -0.25f,//lr
|
||||
0.25f, 0.25f,//ur
|
||||
-0.25f, 0.25f,//ul
|
||||
};
|
||||
private static float[] points_Uniform4_Helix = new float[] {
|
||||
-0.25f, -0.25f,//ll 3 1
|
||||
0.25f, 0.25f,//ur \/|
|
||||
0.25f, -0.25f,//lr /\|
|
||||
-0.25f, 0.25f,//ul 0 2
|
||||
};
|
||||
private static float[] points_Uniform4_DoubleHelix = new float[] {
|
||||
-0.25f, -0.25f,//ll 3 1
|
||||
0.25f, 0.25f,//ur \/|
|
||||
0.25f, -0.25f,//lr /\|
|
||||
-0.25f, 0.25f,//ul 0 2
|
||||
-0.25f, -0.25f,//ll 6--7
|
||||
0.25f, -0.25f,//lr \
|
||||
-0.25f, 0.25f,//ul \
|
||||
0.25f, 0.25f,//ur 4--5
|
||||
};
|
||||
private static float[] points_SkewButterfly = new float[] {
|
||||
-0.250f, -0.250f,
|
||||
0.250f, 0.250f,
|
||||
0.125f, -0.125f,
|
||||
-0.125f, 0.125f,
|
||||
};
|
||||
private static float[] points_Rotated4 = new float[] {
|
||||
-0.125f, -0.375f,//ll
|
||||
0.375f, -0.125f,//lr
|
||||
0.125f, 0.375f,//ur
|
||||
-0.375f, 0.125f,//ul
|
||||
};
|
||||
private static float[] points_Rotated4_Helix = new float[] {
|
||||
-0.125f, -0.375f,//ll 3 1
|
||||
0.125f, 0.375f,//ur \/|
|
||||
0.375f, -0.125f,//lr /\|
|
||||
-0.375f, 0.125f,//ul 0 2
|
||||
};
|
||||
private static float[] points_Rotated4_Helix2 = new float[] {
|
||||
-0.125f, -0.375f,//ll 2--1
|
||||
0.125f, 0.375f,//ur \/
|
||||
-0.375f, 0.125f,//ul /\
|
||||
0.375f, -0.125f,//lr 0 3
|
||||
};
|
||||
private static float[] points_Poisson10 = new float[] {
|
||||
-0.16795960f*0.25f, 0.65544910f*0.25f,
|
||||
-0.69096030f*0.25f, 0.59015970f*0.25f,
|
||||
0.49843820f*0.25f, 0.83099720f*0.25f,
|
||||
0.17230150f*0.25f, -0.03882703f*0.25f,
|
||||
-0.60772670f*0.25f, -0.06013587f*0.25f,
|
||||
0.65606390f*0.25f, 0.24007600f*0.25f,
|
||||
0.80348370f*0.25f, -0.48096900f*0.25f,
|
||||
0.33436540f*0.25f, -0.73007030f*0.25f,
|
||||
-0.47839520f*0.25f, -0.56005300f*0.25f,
|
||||
-0.12388120f*0.25f, -0.96633990f*0.25f,
|
||||
};
|
||||
private static float[] points_Pentagram = new float[] {
|
||||
0.000000f*0.5f, 0.525731f*0.5f,// head
|
||||
-0.309017f*0.5f, -0.425325f*0.5f,// lleg
|
||||
0.500000f*0.5f, 0.162460f*0.5f,// rarm
|
||||
-0.500000f*0.5f, 0.162460f*0.5f,// larm
|
||||
0.309017f*0.5f, -0.425325f*0.5f,// rleg
|
||||
};
|
||||
private static float[] points_Halton_2_3_x8 = new float[8 * 2];
|
||||
private static float[] points_Halton_2_3_x16 = new float[16 * 2];
|
||||
private static float[] points_Halton_2_3_x32 = new float[32 * 2];
|
||||
private static float[] points_Halton_2_3_x256 = new float[256 * 2];
|
||||
private static float[] points_MotionPerp2 = new float[] {
|
||||
0.00f, -0.25f,
|
||||
0.00f, 0.25f,
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region Static point data, static initialization
|
||||
private static void TransformPattern(float[] seq, float theta, float scale)
|
||||
{
|
||||
float cs = Mathf.Cos(theta);
|
||||
float sn = Mathf.Sin(theta);
|
||||
for (int i = 0, j = 1, n = seq.Length; i != n; i += 2, j += 2)
|
||||
{
|
||||
float x = scale * seq[i];
|
||||
float y = scale * seq[j];
|
||||
seq[i] = x * cs - y * sn;
|
||||
seq[j] = x * sn + y * cs;
|
||||
}
|
||||
}
|
||||
|
||||
// http://en.wikipedia.org/wiki/Halton_sequence
|
||||
public static float HaltonSeq(int prime, int index = 1/* NOT! zero-based */)
|
||||
{
|
||||
float r = 0.0f;
|
||||
float f = 1.0f;
|
||||
int i = index;
|
||||
while (i > 0)
|
||||
{
|
||||
f /= prime;
|
||||
r += f * (i % prime);
|
||||
i = (int)Mathf.Floor(i / (float)prime);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
private static void InitializeHalton_2_3(float[] seq)
|
||||
{
|
||||
for (int i = 0, n = seq.Length / 2; i != n; i++)
|
||||
{
|
||||
float u = HaltonSeq(2, i + 1) - 0.5f;
|
||||
float v = HaltonSeq(3, i + 1) - 0.5f;
|
||||
seq[2 * i + 0] = u;
|
||||
seq[2 * i + 1] = v;
|
||||
}
|
||||
}
|
||||
|
||||
static FrustumJitter()
|
||||
{
|
||||
// points_Pentagram
|
||||
Vector2 vh = new Vector2(points_Pentagram[0] - points_Pentagram[2], points_Pentagram[1] - points_Pentagram[3]);
|
||||
Vector2 vu = new Vector2(0.0f, 1.0f);
|
||||
TransformPattern(points_Pentagram, Mathf.Deg2Rad * (0.5f * Vector2.Angle(vu, vh)), 1.0f);
|
||||
|
||||
// points_Halton_2_3_xN
|
||||
InitializeHalton_2_3(points_Halton_2_3_x8);
|
||||
InitializeHalton_2_3(points_Halton_2_3_x16);
|
||||
InitializeHalton_2_3(points_Halton_2_3_x32);
|
||||
InitializeHalton_2_3(points_Halton_2_3_x256);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Static point data accessors
|
||||
public enum Pattern
|
||||
{
|
||||
Still,
|
||||
Uniform2,
|
||||
Uniform4,
|
||||
Uniform4_Helix,
|
||||
Uniform4_DoubleHelix,
|
||||
SkewButterfly,
|
||||
Rotated4,
|
||||
Rotated4_Helix,
|
||||
Rotated4_Helix2,
|
||||
Poisson10,
|
||||
Pentagram,
|
||||
Halton_2_3_X8,
|
||||
Halton_2_3_X16,
|
||||
Halton_2_3_X32,
|
||||
Halton_2_3_X256,
|
||||
MotionPerp2,
|
||||
};
|
||||
|
||||
private static float[] AccessPointData(Pattern pattern)
|
||||
{
|
||||
switch (pattern)
|
||||
{
|
||||
case Pattern.Still:
|
||||
return points_Still;
|
||||
case Pattern.Uniform2:
|
||||
return points_Uniform2;
|
||||
case Pattern.Uniform4:
|
||||
return points_Uniform4;
|
||||
case Pattern.Uniform4_Helix:
|
||||
return points_Uniform4_Helix;
|
||||
case Pattern.Uniform4_DoubleHelix:
|
||||
return points_Uniform4_DoubleHelix;
|
||||
case Pattern.SkewButterfly:
|
||||
return points_SkewButterfly;
|
||||
case Pattern.Rotated4:
|
||||
return points_Rotated4;
|
||||
case Pattern.Rotated4_Helix:
|
||||
return points_Rotated4_Helix;
|
||||
case Pattern.Rotated4_Helix2:
|
||||
return points_Rotated4_Helix2;
|
||||
case Pattern.Poisson10:
|
||||
return points_Poisson10;
|
||||
case Pattern.Pentagram:
|
||||
return points_Pentagram;
|
||||
case Pattern.Halton_2_3_X8:
|
||||
return points_Halton_2_3_x8;
|
||||
case Pattern.Halton_2_3_X16:
|
||||
return points_Halton_2_3_x16;
|
||||
case Pattern.Halton_2_3_X32:
|
||||
return points_Halton_2_3_x32;
|
||||
case Pattern.Halton_2_3_X256:
|
||||
return points_Halton_2_3_x256;
|
||||
case Pattern.MotionPerp2:
|
||||
return points_MotionPerp2;
|
||||
default:
|
||||
Debug.LogError("missing point distribution");
|
||||
return points_Halton_2_3_x16;
|
||||
}
|
||||
}
|
||||
|
||||
public static int AccessLength(Pattern pattern)
|
||||
{
|
||||
return AccessPointData(pattern).Length / 2;
|
||||
}
|
||||
|
||||
public Vector2 Sample(Pattern pattern, int index)
|
||||
{
|
||||
float[] points = AccessPointData(pattern);
|
||||
int n = points.Length / 2;
|
||||
int i = index % n;
|
||||
|
||||
float x = patternScale * points[2 * i + 0];
|
||||
float y = patternScale * points[2 * i + 1];
|
||||
|
||||
if (pattern != Pattern.MotionPerp2)
|
||||
return new Vector2(x, y);
|
||||
else
|
||||
return new Vector2(x, y).Rotate(Vector2.right.SignedAngle(focalMotionDir));
|
||||
}
|
||||
#endregion
|
||||
|
||||
private Camera _camera;
|
||||
|
||||
private Vector3 focalMotionPos = Vector3.zero;
|
||||
private Vector3 focalMotionDir = Vector3.right;
|
||||
|
||||
public Pattern pattern = Pattern.Halton_2_3_X16;
|
||||
public float patternScale = 1.0f;
|
||||
|
||||
public Vector4 activeSample = Vector4.zero;// xy = current sample, zw = previous sample
|
||||
public int activeIndex = -2;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
_camera = GetComponent<Camera>();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
_camera.ResetProjectionMatrix();
|
||||
|
||||
activeSample = Vector4.zero;
|
||||
activeIndex = -2;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Reset();
|
||||
Clear();
|
||||
}
|
||||
|
||||
void OnPreCull()
|
||||
{
|
||||
// update motion dir
|
||||
{
|
||||
Vector3 oldWorld = focalMotionPos;
|
||||
Vector3 newWorld = _camera.transform.TransformVector(_camera.nearClipPlane * Vector3.forward);
|
||||
|
||||
Vector3 oldPoint = (_camera.worldToCameraMatrix * oldWorld);
|
||||
Vector3 newPoint = (_camera.worldToCameraMatrix * newWorld);
|
||||
Vector3 newDelta = (newPoint - oldPoint).WithZ(0.0f);
|
||||
|
||||
var mag = newDelta.magnitude;
|
||||
if (mag != 0.0f)
|
||||
{
|
||||
var dir = newDelta / mag;// yes, apparently this is necessary instead of newDelta.normalized... because facepalm
|
||||
if (dir.sqrMagnitude != 0.0f)
|
||||
{
|
||||
focalMotionPos = newWorld;
|
||||
focalMotionDir = Vector3.Slerp(focalMotionDir, dir, 0.2f);
|
||||
//Debug.Log("CHANGE focalMotionDir " + focalMotionDir.ToString("G4") + " delta was " + newDelta.ToString("G4") + " delta.mag " + newDelta.magnitude);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update jitter
|
||||
#if SUPPORT_STEREO
|
||||
if (_camera.stereoEnabled)
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (activeIndex == -2)
|
||||
{
|
||||
activeSample = Vector4.zero;
|
||||
activeIndex += 1;
|
||||
|
||||
_camera.projectionMatrix = _camera.GetProjectionMatrix();
|
||||
}
|
||||
else
|
||||
{
|
||||
activeIndex += 1;
|
||||
activeIndex %= AccessLength(pattern);
|
||||
|
||||
Vector2 sample = Sample(pattern, activeIndex);
|
||||
activeSample.z = activeSample.x;
|
||||
activeSample.w = activeSample.y;
|
||||
activeSample.x = sample.x;
|
||||
activeSample.y = sample.y;
|
||||
|
||||
_camera.projectionMatrix = _camera.GetProjectionMatrix(sample.x, sample.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
}
|
||||
12
Assets/Plugins/PDTAA/Scripts/FrustumJitter.cs.meta
Normal file
12
Assets/Plugins/PDTAA/Scripts/FrustumJitter.cs.meta
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 899f97884c6d96b4ca20648ec109a37f
|
||||
timeCreated: 1437991076
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
266
Assets/Plugins/PDTAA/Scripts/TemporalReprojection.cs
Normal file
266
Assets/Plugins/PDTAA/Scripts/TemporalReprojection.cs
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#if UNITY_5_5_OR_NEWER
|
||||
#define SUPPORT_STEREO
|
||||
#endif
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
[ExecuteInEditMode]
|
||||
[RequireComponent(typeof(Camera), typeof(FrustumJitter), typeof(VelocityBuffer))]
|
||||
[AddComponentMenu("Playdead/TemporalReprojection")]
|
||||
public class TemporalReprojection : EffectBase
|
||||
{
|
||||
private static RenderBuffer[] mrt = new RenderBuffer[2];
|
||||
|
||||
private Camera _camera;
|
||||
private FrustumJitter _frustumJitter;
|
||||
private VelocityBuffer _velocityBuffer;
|
||||
|
||||
#region dithering
|
||||
public Texture ditherTex = null;
|
||||
|
||||
private const int NUM_DITHEROFS = 1024;
|
||||
const float DITHERSIZ = 256;
|
||||
private static int frameofs = 0;
|
||||
private static Vector4[] ditheroffsets = null;
|
||||
public static Vector4 GetFrame_DitherOffset()
|
||||
{
|
||||
if ( ditheroffsets == null )
|
||||
init_ditheroffsets();
|
||||
|
||||
frameofs = (frameofs+1) % NUM_DITHEROFS;
|
||||
return ditheroffsets[frameofs];
|
||||
}
|
||||
private static void init_ditheroffsets()
|
||||
{
|
||||
if ( ditheroffsets != null )
|
||||
return;
|
||||
|
||||
ditheroffsets = new Vector4[NUM_DITHEROFS];
|
||||
|
||||
for ( int i=0, n=ditheroffsets.Length; i<n; ++i )
|
||||
{
|
||||
Vector4 p = new Vector4( DITHERSIZ * FrustumJitter.HaltonSeq(2, i+1),
|
||||
DITHERSIZ * FrustumJitter.HaltonSeq(3, i+1),
|
||||
DITHERSIZ * FrustumJitter.HaltonSeq(5, i+1),
|
||||
DITHERSIZ * FrustumJitter.HaltonSeq(7, i+1) );
|
||||
|
||||
ditheroffsets[i] = new Vector4( Mathf.Floor(p.x),
|
||||
Mathf.Floor(p.y),
|
||||
Mathf.Floor(p.z),
|
||||
Mathf.Floor(p.w) );
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
public Shader reprojectionShader;
|
||||
private Material reprojectionMaterial;
|
||||
private RenderTexture[,] reprojectionBuffer;
|
||||
private int[] reprojectionIndex = new int[2] { -1, -1 };
|
||||
|
||||
public enum Dilation
|
||||
{
|
||||
None, Dilate5X, Dilate3X3
|
||||
};
|
||||
public enum HistoryRectification
|
||||
{
|
||||
Clamping, CenterClipping, Clipping
|
||||
};
|
||||
public enum ColorSpace
|
||||
{
|
||||
RGB, Chroma /*YCoCg, YCrCg?*/
|
||||
};
|
||||
|
||||
//public bool unjitterColorSamples = true;
|
||||
//public bool unjitterNeighborhood = false;
|
||||
//public bool unjitterReprojection = false;
|
||||
|
||||
[Tooltip("TAA colorspace. RGB is faster, Chroma is more better")]
|
||||
public ColorSpace colorspace = ColorSpace.RGB;
|
||||
|
||||
[Tooltip("use soft-cubic for sampling maincolor")]
|
||||
public bool useHigherOrderFilteringMainColor = false;
|
||||
|
||||
[Tooltip("use catmull-rom for sampling historybuffer")]
|
||||
public bool useHigherOrderFilteringHistory = true;
|
||||
|
||||
[Tooltip("History color restricted by clamping (faster), centerClipping or clipping (better)")]
|
||||
public HistoryRectification historyRectification = HistoryRectification.Clamping;
|
||||
|
||||
[Tooltip("Shrink color-aabb using variance of neighborhood")]
|
||||
public bool useVarianceClipping = true;
|
||||
|
||||
[Tooltip("Smooth color-aabb using rounding")]
|
||||
public bool useAABBRounding = true;
|
||||
|
||||
public Dilation dilation = Dilation.Dilate3X3;
|
||||
public bool useMotionBlur = true;
|
||||
|
||||
[Range(0.0f, 1.0f)] public float feedbackMin = 0.88f;
|
||||
[Range(0.0f, 1.0f)] public float feedbackMax = 0.97f;
|
||||
|
||||
public float motionBlurStrength = 1.0f;
|
||||
public bool motionBlurIgnoreFF = false;
|
||||
|
||||
#region shaderparms
|
||||
int jitter_id = -1; int JitterUVID() { if (jitter_id < 0) jitter_id = Shader.PropertyToID("_JitterUV"); return jitter_id; }
|
||||
int vb_id =-1; int VelocityBufferID() { if (vb_id<0) vb_id=Shader.PropertyToID( "_VelocityBuffer" ); return vb_id; }
|
||||
int vnm_id=-1; int VelocityNeighborMaxID() { if (vnm_id<0) vnm_id=Shader.PropertyToID( "_VelocityNeighborMax" ); return vnm_id; }
|
||||
int maintex_id=-1; int MainTexID() { if (maintex_id<0) maintex_id=Shader.PropertyToID( "_MainTex" ); return maintex_id; }
|
||||
int prevtex_id=-1; int PrevTexID() { if (prevtex_id<0) prevtex_id=Shader.PropertyToID( "_PrevTex" ); return prevtex_id; }
|
||||
int fbmin_id=-1; int FeedbackMinID() { if (fbmin_id<0) fbmin_id=Shader.PropertyToID( "_FeedbackMin" ); return fbmin_id; }
|
||||
int fbmax_id=-1; int FeedbackMinMaxID() { if (fbmax_id<0) fbmax_id=Shader.PropertyToID( "_FeedbackMinMax" ); return fbmax_id; }
|
||||
int ms_id=-1; int MotionScaleID() { if (ms_id<0) ms_id=Shader.PropertyToID( "_MotionScale" ); return ms_id; }
|
||||
int dithertex_id=-1; int DitherTexID() { if (dithertex_id<0) dithertex_id=Shader.PropertyToID( "_DitherTex" ); return dithertex_id; }
|
||||
int ditherofslocal_id=-1; int DitherOffsetLocalID() { if (ditherofslocal_id<0) ditherofslocal_id=Shader.PropertyToID( "_DitherOffset_local" ); return ditherofslocal_id; }
|
||||
#endregion
|
||||
|
||||
void Reset()
|
||||
{
|
||||
_camera = GetComponent<Camera>();
|
||||
_frustumJitter = GetComponent<FrustumJitter>();
|
||||
_velocityBuffer = GetComponent<VelocityBuffer>();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
EnsureArray(ref reprojectionIndex, 2);
|
||||
reprojectionIndex[0] = -1;
|
||||
reprojectionIndex[1] = -1;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Reset();
|
||||
Clear();
|
||||
}
|
||||
|
||||
void Resolve(RenderTexture source, RenderTexture destination)
|
||||
{
|
||||
EnsureArray(ref reprojectionBuffer, 2, 2);
|
||||
EnsureArray(ref reprojectionIndex, 2, initialValue: -1);
|
||||
|
||||
EnsureMaterial(ref reprojectionMaterial, reprojectionShader);
|
||||
if (reprojectionMaterial == null)
|
||||
{
|
||||
Graphics.Blit(source, destination);
|
||||
return;
|
||||
}
|
||||
|
||||
#if SUPPORT_STEREO
|
||||
int eyeIndex = (_camera.stereoActiveEye == Camera.MonoOrStereoscopicEye.Right) ? 1 : 0;
|
||||
#else
|
||||
int eyeIndex = 0;
|
||||
#endif
|
||||
int bufferW = source.width;
|
||||
int bufferH = source.height;
|
||||
|
||||
if (EnsureRenderTarget(ref reprojectionBuffer[eyeIndex, 0], bufferW, bufferH, RenderTextureFormat.ARGB32, FilterMode.Bilinear, antiAliasing: source.antiAliasing))
|
||||
Clear();
|
||||
if (EnsureRenderTarget(ref reprojectionBuffer[eyeIndex, 1], bufferW, bufferH, RenderTextureFormat.ARGB32, FilterMode.Bilinear, antiAliasing: source.antiAliasing))
|
||||
Clear();
|
||||
|
||||
#if SUPPORT_STEREO
|
||||
bool stereoEnabled = _camera.stereoEnabled;
|
||||
#else
|
||||
bool stereoEnabled = false;
|
||||
#endif
|
||||
#if UNITY_EDITOR
|
||||
bool allowMotionBlur = !stereoEnabled && Application.isPlaying;
|
||||
#else
|
||||
bool allowMotionBlur = !stereoEnabled;
|
||||
#endif
|
||||
|
||||
EnsureKeyword(reprojectionMaterial, "CAMERA_PERSPECTIVE", !_camera.orthographic);
|
||||
EnsureKeyword(reprojectionMaterial, "CAMERA_ORTHOGRAPHIC", _camera.orthographic);
|
||||
//EnsureKeyword(reprojectionMaterial, "UNJITTER_COLORSAMPLES", unjitterColorSamples);
|
||||
//EnsureKeyword(reprojectionMaterial, "UNJITTER_NEIGHBORHOOD", unjitterNeighborhood);
|
||||
//EnsureKeyword(reprojectionMaterial, "UNJITTER_REPROJECTION", unjitterReprojection);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_CHROMA_COLORSPACE", colorspace == ColorSpace.Chroma);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_CLIPPING", historyRectification == HistoryRectification.CenterClipping || historyRectification == HistoryRectification.Clipping );
|
||||
EnsureKeyword(reprojectionMaterial, "USE_CENTER_CLIPPING", historyRectification == HistoryRectification.CenterClipping );
|
||||
EnsureKeyword(reprojectionMaterial, "USE_VARIANCE_CLIPPING", useVarianceClipping );
|
||||
EnsureKeyword(reprojectionMaterial, "USE_AABB_ROUNDING", useAABBRounding );
|
||||
EnsureKeyword(reprojectionMaterial, "USE_DILATION_5X", dilation == Dilation.Dilate5X);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_DILATION_3X3", dilation == Dilation.Dilate3X3);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_MOTION_BLUR", useMotionBlur && allowMotionBlur);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_MOTION_BLUR_NEIGHBORMAX", _velocityBuffer.activeVelocityNeighborMax != null);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_HIGHER_ORDER_TEXTURE_FILTERING_COLOR", useHigherOrderFilteringMainColor);
|
||||
EnsureKeyword(reprojectionMaterial, "USE_HIGHER_ORDER_TEXTURE_FILTERING_HISTORY", useHigherOrderFilteringHistory);
|
||||
|
||||
if (reprojectionIndex[eyeIndex] == -1)// bootstrap
|
||||
{
|
||||
reprojectionIndex[eyeIndex] = 0;
|
||||
reprojectionBuffer[eyeIndex, reprojectionIndex[eyeIndex]].DiscardContents();
|
||||
Graphics.Blit(source, reprojectionBuffer[eyeIndex, reprojectionIndex[eyeIndex]]);
|
||||
}
|
||||
|
||||
int indexRead = reprojectionIndex[eyeIndex];
|
||||
int indexWrite = (reprojectionIndex[eyeIndex] + 1) % 2;
|
||||
|
||||
Vector4 jitterUV = _frustumJitter.activeSample;
|
||||
jitterUV.x /= source.width;
|
||||
jitterUV.y /= source.height;
|
||||
jitterUV.z /= source.width;
|
||||
jitterUV.w /= source.height;
|
||||
|
||||
reprojectionMaterial.SetVector(JitterUVID(), jitterUV);
|
||||
reprojectionMaterial.SetTexture(VelocityBufferID(), _velocityBuffer.activeVelocityBuffer);
|
||||
reprojectionMaterial.SetTexture(VelocityNeighborMaxID(), _velocityBuffer.activeVelocityNeighborMax);
|
||||
reprojectionMaterial.SetTexture(MainTexID(), source);
|
||||
reprojectionMaterial.SetTexture(PrevTexID(), reprojectionBuffer[eyeIndex, indexRead]);
|
||||
reprojectionMaterial.SetFloat(FeedbackMinID(), feedbackMin);
|
||||
reprojectionMaterial.SetFloat(FeedbackMinMaxID(), feedbackMax - feedbackMin);
|
||||
reprojectionMaterial.SetFloat(MotionScaleID(), motionBlurStrength * (motionBlurIgnoreFF ? Mathf.Min(1.0f, 1.0f / _velocityBuffer.timeScale) : 1.0f));
|
||||
|
||||
reprojectionMaterial.SetTexture(DitherTexID(), ditherTex);
|
||||
Vector4 ofs = GetFrame_DitherOffset();
|
||||
reprojectionMaterial.SetVector( DitherOffsetLocalID(), GetFrame_DitherOffset() );
|
||||
|
||||
// reproject frame n-1 into output + history buffer
|
||||
{
|
||||
mrt[0] = reprojectionBuffer[eyeIndex, indexWrite].colorBuffer;
|
||||
mrt[1] = destination.colorBuffer;
|
||||
|
||||
Graphics.SetRenderTarget(mrt, source.depthBuffer);
|
||||
reprojectionMaterial.SetPass(0);
|
||||
reprojectionBuffer[eyeIndex, indexWrite].DiscardContents();
|
||||
|
||||
//DrawFullscreenQuad();
|
||||
DrawFullscreenTri();
|
||||
|
||||
reprojectionIndex[eyeIndex] = indexWrite;
|
||||
}
|
||||
}
|
||||
|
||||
void OnRenderImage(RenderTexture source, RenderTexture destination)
|
||||
{
|
||||
if (destination != null && source.antiAliasing == destination.antiAliasing)// resolve without additional blit when not end of chain
|
||||
{
|
||||
Resolve(source, destination);
|
||||
}
|
||||
else
|
||||
{
|
||||
RenderTexture internalDestination = RenderTexture.GetTemporary(source.width, source.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Default, source.antiAliasing);
|
||||
{
|
||||
Resolve(source, internalDestination);
|
||||
Graphics.Blit(internalDestination, destination);
|
||||
}
|
||||
RenderTexture.ReleaseTemporary(internalDestination);
|
||||
}
|
||||
}
|
||||
|
||||
void OnApplicationQuit()
|
||||
{
|
||||
if (reprojectionBuffer != null)
|
||||
{
|
||||
ReleaseRenderTarget(ref reprojectionBuffer[0, 0]);
|
||||
ReleaseRenderTarget(ref reprojectionBuffer[0, 1]);
|
||||
ReleaseRenderTarget(ref reprojectionBuffer[1, 0]);
|
||||
ReleaseRenderTarget(ref reprojectionBuffer[1, 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
14
Assets/Plugins/PDTAA/Scripts/TemporalReprojection.cs.meta
Normal file
14
Assets/Plugins/PDTAA/Scripts/TemporalReprojection.cs.meta
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 65f5677aa325c184f801528d78a73827
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- ditherTex: {fileID: 2800000, guid: 859f329ee8606864ea19dbf373a5ec56, type: 3}
|
||||
- reprojectionShader: {fileID: 4800000, guid: 7ca93c1a56ee0154b8c714591d6d211a,
|
||||
type: 3}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
282
Assets/Plugins/PDTAA/Scripts/VelocityBuffer.cs
Normal file
282
Assets/Plugins/PDTAA/Scripts/VelocityBuffer.cs
Normal file
|
|
@ -0,0 +1,282 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#if UNITY_5_5_OR_NEWER
|
||||
#define SUPPORT_STEREO
|
||||
#endif
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
[ExecuteInEditMode]
|
||||
[RequireComponent(typeof(Camera), typeof(FrustumJitter))]
|
||||
[AddComponentMenu("Playdead/VelocityBuffer")]
|
||||
public class VelocityBuffer : EffectBase
|
||||
{
|
||||
#if UNITY_PS4
|
||||
private const RenderTextureFormat velocityFormat = RenderTextureFormat.RGHalf;
|
||||
#else
|
||||
private const RenderTextureFormat velocityFormat = RenderTextureFormat.RGFloat;
|
||||
#endif
|
||||
|
||||
private Camera _camera;
|
||||
private FrustumJitter _frustumJitter;
|
||||
|
||||
public Shader velocityShader;
|
||||
private Material velocityMaterial;
|
||||
private RenderTexture[] velocityBuffer;
|
||||
private RenderTexture[] velocityNeighborMax;
|
||||
|
||||
private bool[] paramInitialized;
|
||||
private Vector4[] paramProjectionExtents;
|
||||
private Matrix4x4[] paramCurrV;
|
||||
private Matrix4x4[] paramCurrVP;
|
||||
private Matrix4x4[] paramPrevVP;
|
||||
private Matrix4x4[] paramPrevVP_NoFlip;
|
||||
|
||||
private int activeEyeIndex = -1;
|
||||
public RenderTexture activeVelocityBuffer { get { return (activeEyeIndex != -1) ? velocityBuffer[activeEyeIndex] : null; } }
|
||||
public RenderTexture activeVelocityNeighborMax { get { return (activeEyeIndex != -1) ? velocityNeighborMax[activeEyeIndex] : null; } }
|
||||
|
||||
public enum NeighborMaxSupport
|
||||
{
|
||||
TileSize10,
|
||||
TileSize20,
|
||||
TileSize40,
|
||||
};
|
||||
|
||||
public bool neighborMaxGen = false;
|
||||
public NeighborMaxSupport neighborMaxSupport = NeighborMaxSupport.TileSize20;
|
||||
|
||||
private float timeScaleNextFrame;
|
||||
public float timeScale { get; private set; }
|
||||
|
||||
#if UNITY_EDITOR
|
||||
[Header("Stats")]
|
||||
public int numResident = 0;
|
||||
public int numRendered = 0;
|
||||
public int numDrawCalls = 0;
|
||||
#endif
|
||||
|
||||
void Reset()
|
||||
{
|
||||
_camera = GetComponent<Camera>();
|
||||
_frustumJitter = GetComponent<FrustumJitter>();
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
EnsureArray(ref paramInitialized, 2);
|
||||
paramInitialized[0] = false;
|
||||
paramInitialized[1] = false;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Reset();
|
||||
Clear();
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
timeScaleNextFrame = Time.timeScale;
|
||||
}
|
||||
|
||||
void OnPreRender()
|
||||
{
|
||||
EnsureDepthTexture(_camera);
|
||||
}
|
||||
|
||||
void OnPostRender()
|
||||
{
|
||||
EnsureArray(ref velocityBuffer, 2);
|
||||
EnsureArray(ref velocityNeighborMax, 2);
|
||||
|
||||
EnsureArray(ref paramInitialized, 2, initialValue: false);
|
||||
EnsureArray(ref paramProjectionExtents, 2);
|
||||
EnsureArray(ref paramCurrV, 2);
|
||||
EnsureArray(ref paramCurrVP, 2);
|
||||
EnsureArray(ref paramPrevVP, 2);
|
||||
EnsureArray(ref paramPrevVP_NoFlip, 2);
|
||||
|
||||
EnsureMaterial(ref velocityMaterial, velocityShader);
|
||||
if (velocityMaterial == null)
|
||||
return;
|
||||
|
||||
timeScale = timeScaleNextFrame;
|
||||
timeScaleNextFrame = (Time.timeScale == 0.0f) ? timeScaleNextFrame : Time.timeScale;
|
||||
|
||||
#if SUPPORT_STEREO
|
||||
int eyeIndex = (_camera.stereoActiveEye == Camera.MonoOrStereoscopicEye.Right) ? 1 : 0;
|
||||
#else
|
||||
int eyeIndex = 0;
|
||||
#endif
|
||||
int bufferW = _camera.pixelWidth;
|
||||
int bufferH = _camera.pixelHeight;
|
||||
|
||||
if (EnsureRenderTarget(ref velocityBuffer[eyeIndex], bufferW, bufferH, velocityFormat, FilterMode.Point, depthBits: 16))
|
||||
Clear();
|
||||
|
||||
EnsureKeyword(velocityMaterial, "CAMERA_PERSPECTIVE", !_camera.orthographic);
|
||||
EnsureKeyword(velocityMaterial, "CAMERA_ORTHOGRAPHIC", _camera.orthographic);
|
||||
|
||||
EnsureKeyword(velocityMaterial, "TILESIZE_10", neighborMaxSupport == NeighborMaxSupport.TileSize10);
|
||||
EnsureKeyword(velocityMaterial, "TILESIZE_20", neighborMaxSupport == NeighborMaxSupport.TileSize20);
|
||||
EnsureKeyword(velocityMaterial, "TILESIZE_40", neighborMaxSupport == NeighborMaxSupport.TileSize40);
|
||||
|
||||
#if SUPPORT_STEREO
|
||||
if (_camera.stereoEnabled)
|
||||
{
|
||||
for (int i = 0; i != 2; i++)
|
||||
{
|
||||
Camera.StereoscopicEye eye = (Camera.StereoscopicEye)i;
|
||||
|
||||
Matrix4x4 currV = _camera.GetStereoViewMatrix(eye);
|
||||
Matrix4x4 currP = GL.GetGPUProjectionMatrix(_camera.GetStereoProjectionMatrix(eye), true);
|
||||
Matrix4x4 currP_NoFlip = GL.GetGPUProjectionMatrix(_camera.GetStereoProjectionMatrix(eye), false);
|
||||
Matrix4x4 prevV = paramInitialized[i] ? paramCurrV[i] : currV;
|
||||
|
||||
paramInitialized[i] = true;
|
||||
paramProjectionExtents[i] = _camera.GetProjectionExtents(eye);
|
||||
paramCurrV[i] = currV;
|
||||
paramCurrVP[i] = currP * currV;
|
||||
paramPrevVP[i] = currP * prevV;
|
||||
paramPrevVP_NoFlip[i] = currP_NoFlip * prevV;
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
Matrix4x4 currV = _camera.worldToCameraMatrix;
|
||||
Matrix4x4 currP = GL.GetGPUProjectionMatrix(_camera.projectionMatrix, true);
|
||||
Matrix4x4 currP_NoFlip = GL.GetGPUProjectionMatrix(_camera.projectionMatrix, false);
|
||||
Matrix4x4 prevV = paramInitialized[0] ? paramCurrV[0] : currV;
|
||||
|
||||
paramInitialized[0] = true;
|
||||
paramProjectionExtents[0] = _frustumJitter.enabled ? _camera.GetProjectionExtents(_frustumJitter.activeSample.x, _frustumJitter.activeSample.y) : _camera.GetProjectionExtents();
|
||||
paramCurrV[0] = currV;
|
||||
paramCurrVP[0] = currP * currV;
|
||||
paramPrevVP[0] = currP * prevV;
|
||||
paramPrevVP_NoFlip[0] = currP_NoFlip * prevV;
|
||||
}
|
||||
|
||||
RenderTexture activeRT = RenderTexture.active;
|
||||
RenderTexture.active = velocityBuffer[eyeIndex];
|
||||
{
|
||||
GL.Clear(true, true, Color.black);
|
||||
|
||||
const int kPrepass = 0;
|
||||
const int kVertices = 1;
|
||||
const int kVerticesSkinned = 2;
|
||||
const int kTileMax = 3;
|
||||
const int kNeighborMax = 4;
|
||||
|
||||
// 0: prepass
|
||||
#if SUPPORT_STEREO
|
||||
velocityMaterial.SetVectorArray("_ProjectionExtents", paramProjectionExtents);
|
||||
velocityMaterial.SetMatrixArray("_CurrV", paramCurrV);
|
||||
velocityMaterial.SetMatrixArray("_CurrVP", paramCurrVP);
|
||||
velocityMaterial.SetMatrixArray("_PrevVP", paramPrevVP);
|
||||
velocityMaterial.SetMatrixArray("_PrevVP_NoFlip", paramPrevVP_NoFlip);
|
||||
#else
|
||||
velocityMaterial.SetVector("_ProjectionExtents", paramProjectionExtents[0]);
|
||||
velocityMaterial.SetMatrix("_CurrV", paramCurrV[0]);
|
||||
velocityMaterial.SetMatrix("_CurrVP", paramCurrVP[0]);
|
||||
velocityMaterial.SetMatrix("_PrevVP", paramPrevVP[0]);
|
||||
velocityMaterial.SetMatrix("_PrevVP_NoFlip", paramPrevVP_NoFlip[0]);
|
||||
#endif
|
||||
velocityMaterial.SetPass(kPrepass);
|
||||
DrawFullscreenQuad();
|
||||
|
||||
// 1 + 2: vertices + vertices skinned
|
||||
var obs = VelocityBufferTag.activeObjects;
|
||||
#if UNITY_EDITOR
|
||||
numResident = obs.Count;
|
||||
numRendered = 0;
|
||||
numDrawCalls = 0;
|
||||
#endif
|
||||
for (int i = 0, n = obs.Count; i != n; i++)
|
||||
{
|
||||
var ob = obs[i];
|
||||
if (ob != null && ob.rendering && ob.mesh != null)
|
||||
{
|
||||
velocityMaterial.SetMatrix("_CurrM", ob.localToWorldCurr);
|
||||
velocityMaterial.SetMatrix("_PrevM", ob.localToWorldPrev);
|
||||
velocityMaterial.SetPass(ob.meshSmrActive ? kVerticesSkinned : kVertices);
|
||||
|
||||
for (int j = 0; j != ob.mesh.subMeshCount; j++)
|
||||
{
|
||||
Graphics.DrawMeshNow(ob.mesh, Matrix4x4.identity, j);
|
||||
#if UNITY_EDITOR
|
||||
numDrawCalls++;
|
||||
#endif
|
||||
}
|
||||
#if UNITY_EDITOR
|
||||
numRendered++;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// 3 + 4: tilemax + neighbormax
|
||||
if (neighborMaxGen)
|
||||
{
|
||||
int tileSize = 1;
|
||||
|
||||
switch (neighborMaxSupport)
|
||||
{
|
||||
case NeighborMaxSupport.TileSize10: tileSize = 10; break;
|
||||
case NeighborMaxSupport.TileSize20: tileSize = 20; break;
|
||||
case NeighborMaxSupport.TileSize40: tileSize = 40; break;
|
||||
}
|
||||
|
||||
int neighborMaxW = bufferW / tileSize;
|
||||
int neighborMaxH = bufferH / tileSize;
|
||||
|
||||
EnsureRenderTarget(ref velocityNeighborMax[eyeIndex], neighborMaxW, neighborMaxH, velocityFormat, FilterMode.Bilinear);
|
||||
|
||||
// tilemax
|
||||
RenderTexture tileMax = RenderTexture.GetTemporary(neighborMaxW, neighborMaxH, 0, velocityFormat);
|
||||
RenderTexture.active = tileMax;
|
||||
{
|
||||
velocityMaterial.SetTexture("_VelocityTex", velocityBuffer[eyeIndex]);
|
||||
velocityMaterial.SetVector("_VelocityTex_TexelSize", new Vector4(1.0f / bufferW, 1.0f / bufferH, 0.0f, 0.0f));
|
||||
velocityMaterial.SetPass(kTileMax);
|
||||
DrawFullscreenQuad();
|
||||
}
|
||||
|
||||
// neighbormax
|
||||
RenderTexture.active = velocityNeighborMax[eyeIndex];
|
||||
{
|
||||
velocityMaterial.SetTexture("_VelocityTex", tileMax);
|
||||
velocityMaterial.SetVector("_VelocityTex_TexelSize", new Vector4(1.0f / neighborMaxW, 1.0f / neighborMaxH, 0.0f, 0.0f));
|
||||
velocityMaterial.SetPass(kNeighborMax);
|
||||
DrawFullscreenQuad();
|
||||
}
|
||||
|
||||
RenderTexture.ReleaseTemporary(tileMax);
|
||||
}
|
||||
else
|
||||
{
|
||||
ReleaseRenderTarget(ref velocityNeighborMax[0]);
|
||||
ReleaseRenderTarget(ref velocityNeighborMax[1]);
|
||||
}
|
||||
}
|
||||
RenderTexture.active = activeRT;
|
||||
|
||||
activeEyeIndex = eyeIndex;
|
||||
}
|
||||
|
||||
void OnApplicationQuit()
|
||||
{
|
||||
if (velocityBuffer != null)
|
||||
{
|
||||
ReleaseRenderTarget(ref velocityBuffer[0]);
|
||||
ReleaseRenderTarget(ref velocityBuffer[1]);
|
||||
}
|
||||
if (velocityNeighborMax != null)
|
||||
{
|
||||
ReleaseRenderTarget(ref velocityNeighborMax[0]);
|
||||
ReleaseRenderTarget(ref velocityNeighborMax[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
15
Assets/Plugins/PDTAA/Scripts/VelocityBuffer.cs.meta
Normal file
15
Assets/Plugins/PDTAA/Scripts/VelocityBuffer.cs.meta
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b642ff60407fe724bafa6602199213c0
|
||||
timeCreated: 1438011374
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- velocityShader: {fileID: 4800000, guid: 0d7f09e63dd99504ca6e04212a21ec72, type: 3}
|
||||
- velocityBuffer: {instanceID: 0}
|
||||
- velocityNeighborMax: {instanceID: 0}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
143
Assets/Plugins/PDTAA/Scripts/VelocityBufferTag.cs
Normal file
143
Assets/Plugins/PDTAA/Scripts/VelocityBufferTag.cs
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[AddComponentMenu("Playdead/VelocityBufferTag")]
|
||||
public class VelocityBufferTag : MonoBehaviour
|
||||
{
|
||||
#if UNITY_5_6_OR_NEWER
|
||||
private static List<Vector3> temporaryVertexStorage = new List<Vector3>(512);
|
||||
#endif
|
||||
public static List<VelocityBufferTag> activeObjects = new List<VelocityBufferTag>(128);
|
||||
|
||||
private Transform _transform;
|
||||
|
||||
[NonSerialized, HideInInspector] public SkinnedMeshRenderer meshSmr;
|
||||
[NonSerialized, HideInInspector] public bool meshSmrActive;
|
||||
[NonSerialized, HideInInspector] public Mesh mesh;
|
||||
[NonSerialized, HideInInspector] public Matrix4x4 localToWorldPrev;
|
||||
[NonSerialized, HideInInspector] public Matrix4x4 localToWorldCurr;
|
||||
|
||||
private const int framesNotRenderedSleepThreshold = 60;
|
||||
private int framesNotRendered = framesNotRenderedSleepThreshold;
|
||||
public bool rendering { get { return (framesNotRendered < framesNotRenderedSleepThreshold); } }
|
||||
|
||||
void Reset()
|
||||
{
|
||||
_transform = this.transform;
|
||||
|
||||
var smr = GetComponent<SkinnedMeshRenderer>();
|
||||
if (smr != null)
|
||||
{
|
||||
if (mesh == null || meshSmrActive == false)
|
||||
{
|
||||
mesh = new Mesh();
|
||||
mesh.hideFlags = HideFlags.HideAndDontSave;
|
||||
}
|
||||
|
||||
meshSmrActive = true;
|
||||
meshSmr = smr;
|
||||
}
|
||||
else
|
||||
{
|
||||
var mf = GetComponent<MeshFilter>();
|
||||
if (mf != null)
|
||||
mesh = mf.sharedMesh;
|
||||
else
|
||||
mesh = null;
|
||||
|
||||
meshSmrActive = false;
|
||||
meshSmr = null;
|
||||
}
|
||||
|
||||
// force restart
|
||||
framesNotRendered = framesNotRenderedSleepThreshold;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Reset();
|
||||
}
|
||||
|
||||
void TagUpdate(bool restart)
|
||||
{
|
||||
if (meshSmrActive && meshSmr == null)
|
||||
{
|
||||
Reset();
|
||||
}
|
||||
|
||||
if (meshSmrActive)
|
||||
{
|
||||
if (restart)
|
||||
{
|
||||
meshSmr.BakeMesh(mesh);
|
||||
#if UNITY_5_6_OR_NEWER
|
||||
mesh.GetVertices(temporaryVertexStorage);
|
||||
mesh.SetNormals(temporaryVertexStorage);
|
||||
#else
|
||||
mesh.normals = mesh.vertices;// garbage ahoy
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#if UNITY_5_6_OR_NEWER
|
||||
mesh.GetVertices(temporaryVertexStorage);
|
||||
meshSmr.BakeMesh(mesh);
|
||||
mesh.SetNormals(temporaryVertexStorage);
|
||||
#else
|
||||
Vector3[] vs = mesh.vertices;// garbage ahoy
|
||||
meshSmr.BakeMesh(mesh);
|
||||
mesh.normals = vs;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
if (restart)
|
||||
{
|
||||
localToWorldCurr = _transform.localToWorldMatrix;
|
||||
localToWorldPrev = localToWorldCurr;
|
||||
}
|
||||
else
|
||||
{
|
||||
localToWorldPrev = localToWorldCurr;
|
||||
localToWorldCurr = _transform.localToWorldMatrix;
|
||||
}
|
||||
}
|
||||
|
||||
void LateUpdate()
|
||||
{
|
||||
if (framesNotRendered < framesNotRenderedSleepThreshold)
|
||||
{
|
||||
framesNotRendered++;
|
||||
TagUpdate(restart: false);
|
||||
}
|
||||
}
|
||||
|
||||
void OnWillRenderObject()
|
||||
{
|
||||
if (Camera.current != Camera.main)
|
||||
return;// ignore anything but main cam
|
||||
|
||||
if (framesNotRendered >= framesNotRenderedSleepThreshold)
|
||||
TagUpdate(restart: true);
|
||||
|
||||
framesNotRendered = 0;
|
||||
}
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
activeObjects.Add(this);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
activeObjects.Remove(this);
|
||||
|
||||
// force restart
|
||||
framesNotRendered = framesNotRenderedSleepThreshold;
|
||||
}
|
||||
}
|
||||
12
Assets/Plugins/PDTAA/Scripts/VelocityBufferTag.cs.meta
Normal file
12
Assets/Plugins/PDTAA/Scripts/VelocityBufferTag.cs.meta
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1cc21c48ee370cb42a042622dd21640d
|
||||
timeCreated: 1437991033
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
9
Assets/Plugins/PDTAA/Shaders.meta
Normal file
9
Assets/Plugins/PDTAA/Shaders.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f0aa195420e263d4ba033b84c407fba5
|
||||
folderAsset: yes
|
||||
timeCreated: 1437991376
|
||||
licenseType: Pro
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
142
Assets/Plugins/PDTAA/Shaders/IncColor.cginc
Normal file
142
Assets/Plugins/PDTAA/Shaders/IncColor.cginc
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
#ifndef __PD_COLOR_CGINC__
|
||||
#define __PD_COLOR_CGINC__
|
||||
|
||||
//note: Symmetric triangular distribution on [-1,1] with maximal density at 0
|
||||
//note: from https://github.com/Unity-Technologies/ScriptableRenderPipeline/blob/master/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/FinalPass.shader#L124
|
||||
float remap_noise_tri( float v )
|
||||
{
|
||||
v = v*2.0-1.0;
|
||||
return sign(v) * (1.0 - sqrt(1.0 - abs(v)));
|
||||
}
|
||||
float4 remap_noise_tri( float4 v )
|
||||
{
|
||||
v = v*2.0-1.0;
|
||||
return sign(v) * (1.0 - sqrt(1.0 - abs(v)));
|
||||
}
|
||||
|
||||
//from https://github.com/h3r2tic/rtoy-samples/blob/master/assets/shaders/inc/color.inc
|
||||
// Rec. 709
|
||||
float3 RGB_YCbCr(float3 col)
|
||||
{
|
||||
return float3( dot( col, float3(0.2126, 0.7152, 0.0722)),
|
||||
dot( col, float3(-0.1146, -0.3854, 0.5)),
|
||||
dot( col, float3(0.5, -0.4542, -0.0458)) );
|
||||
}
|
||||
float3 YCbCr_RGB(float3 col)
|
||||
{
|
||||
return float3( col.r + 1.5748 * col.b,
|
||||
col.r - 0.1873 * col.g -0.4681 * col.b,
|
||||
col.r + 1.8556 * col.g );
|
||||
}
|
||||
|
||||
// https://software.intel.com/en-us/node/503873
|
||||
float3 RGB_YCoCg(float3 c)
|
||||
{
|
||||
// Y = R/4 + G/2 + B/4
|
||||
// Co = R/2 - B/2
|
||||
// Cg = -R/4 + G/2 - B/4
|
||||
return float3( c.x/4.0 + c.y/2.0 + c.z/4.0,
|
||||
c.x/2.0 - c.z/2.0,
|
||||
-c.x/4.0 + c.y/2.0 - c.z/4.0 );
|
||||
}
|
||||
|
||||
// https://software.intel.com/en-us/node/503873
|
||||
float3 YCoCg_RGB(float3 c)
|
||||
{
|
||||
// R = Y + Co - Cg
|
||||
// G = Y + Cg
|
||||
// B = Y - Co - Cg
|
||||
return saturate(float3( c.x + c.y - c.z,
|
||||
c.x + c.z,
|
||||
c.x - c.y - c.z ));
|
||||
}
|
||||
|
||||
// Samples a texture with Catmull-Rom filtering, using 9 texture fetches instead of 16.
|
||||
// Source: https://gist.github.com/TheRealMJP/c83b8c0f46b63f3a88a5986f4fa982b1
|
||||
// See http://vec3.ca/bicubic-filtering-in-fewer-taps/ for more details
|
||||
float4 sample_catmull_rom(in sampler2D linearSampler, in float2 uv, in float2 texSize)
|
||||
{
|
||||
// We're going to sample a a 4x4 grid of texels surrounding the target UV coordinate. We'll do this by rounding
|
||||
// down the sample location to get the exact center of our "starting" texel. The starting texel will be at
|
||||
// location [1, 1] in the grid, where [0, 0] is the top left corner.
|
||||
float2 samplePos = uv * texSize;
|
||||
float2 texPos1 = floor(samplePos - 0.5f) + 0.5f;
|
||||
|
||||
// Compute the fractional offset from our starting texel to our original sample location, which we'll
|
||||
// feed into the Catmull-Rom spline function to get our filter weights.
|
||||
float2 f = samplePos - texPos1;
|
||||
|
||||
// Compute the Catmull-Rom weights using the fractional offset that we calculated earlier.
|
||||
// These equations are pre-expanded based on our knowledge of where the texels will be located,
|
||||
// which lets us avoid having to evaluate a piece-wise function.
|
||||
float2 w0 = f * (-0.5f + f * (1.0f - 0.5f * f));
|
||||
float2 w1 = 1.0f + f * f * (-2.5f + 1.5f * f);
|
||||
float2 w2 = f * (0.5f + f * (2.0f - 1.5f * f));
|
||||
float2 w3 = f * f * (-0.5f + 0.5f * f);
|
||||
|
||||
// Work out weighting factors and sampling offsets that will let us use bilinear filtering to
|
||||
// simultaneously evaluate the middle 2 samples from the 4x4 grid.
|
||||
float2 w12 = w1 + w2;
|
||||
float2 offset12 = w2 / w12;
|
||||
|
||||
// Compute the final UV coordinates we'll use for sampling the texture
|
||||
float2 texPos0 = texPos1 - 1;
|
||||
float2 texPos3 = texPos1 + 2;
|
||||
float2 texPos12 = texPos1 + offset12;
|
||||
|
||||
texPos0 /= texSize;
|
||||
texPos3 /= texSize;
|
||||
texPos12 /= texSize;
|
||||
|
||||
float4 result = 0.0f;
|
||||
result += tex2D(linearSampler, float2(texPos0.x, texPos0.y)) * w0.x * w0.y;
|
||||
result += tex2D(linearSampler, float2(texPos12.x, texPos0.y)) * w12.x * w0.y;
|
||||
result += tex2D(linearSampler, float2(texPos3.x, texPos0.y)) * w3.x * w0.y;
|
||||
|
||||
result += tex2D(linearSampler, float2(texPos0.x, texPos12.y)) * w0.x * w12.y;
|
||||
result += tex2D(linearSampler, float2(texPos12.x, texPos12.y)) * w12.x * w12.y;
|
||||
result += tex2D(linearSampler, float2(texPos3.x, texPos12.y)) * w3.x * w12.y;
|
||||
|
||||
result += tex2D(linearSampler, float2(texPos0.x, texPos3.y)) * w0.x * w3.y;
|
||||
result += tex2D(linearSampler, float2(texPos12.x, texPos3.y)) * w12.x * w3.y;
|
||||
result += tex2D(linearSampler, float2(texPos3.x, texPos3.y)) * w3.x * w3.y;
|
||||
|
||||
return max( 0.0, result );
|
||||
}
|
||||
|
||||
//note: see http://vec3.ca/bicubic-filtering-in-fewer-taps/ for more details
|
||||
//note: also http://mate.tue.nl/mate/pdfs/10318.pdf
|
||||
float4 sample_cubic( in sampler2D linearSampler, float2 uv, float2 texSiz )
|
||||
{
|
||||
//return
|
||||
float2 iTc = uv * texSiz;
|
||||
float2 tc = floor(iTc - 0.5) + 0.5;
|
||||
|
||||
float2 f = iTc - tc;
|
||||
|
||||
const float2 f2 = float2( f * f );
|
||||
float2 w0 = f * ( f * ( 0.5 - 1.0/6.0 * f ) - 0.5 ) + (1.0/6.0);
|
||||
float2 w1 = (0.5 * f - 1.0) * f2 + (2.0/3.0);
|
||||
float2 w2 = f * ( f * (0.5 - 0.5 * f) + 0.5) + (1.0/6.0);
|
||||
float2 w3 = (1.0/6.0) * f*f2;
|
||||
|
||||
float2 s0 = w0 + w1;
|
||||
float2 s1 = w2 + w3;
|
||||
|
||||
float2 f0 = w1 / s0;
|
||||
float2 f1 = w3 / s1;
|
||||
|
||||
float2 t0 = tc - 1.0 + f0;
|
||||
float2 t1 = tc + 1.0 + f1;
|
||||
|
||||
const float2 rcpTexSiz = 1.0 / texSiz;
|
||||
|
||||
return
|
||||
(tex2D( linearSampler, float2( t0.x, t0.y )*rcpTexSiz) * s0.x
|
||||
+ tex2D( linearSampler, float2( t1.x, t0.y )*rcpTexSiz) * s1.x) * s0.y
|
||||
+ (tex2D( linearSampler, float2( t0.x, t1.y )*rcpTexSiz) * s0.x
|
||||
+ tex2D( linearSampler, float2( t1.x, t1.y )*rcpTexSiz) * s1.x ) * s1.y;
|
||||
}
|
||||
|
||||
|
||||
#endif // __PD_COLOR_CGINC__
|
||||
9
Assets/Plugins/PDTAA/Shaders/IncColor.cginc.meta
Normal file
9
Assets/Plugins/PDTAA/Shaders/IncColor.cginc.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d12c7ae3d4350ec42adcdd8443cad1d8
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
139
Assets/Plugins/PDTAA/Shaders/IncDepth.cginc
Normal file
139
Assets/Plugins/PDTAA/Shaders/IncDepth.cginc
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#ifndef __DEPTH_CGINC__
|
||||
#define __DEPTH_CGINC__
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
uniform sampler2D_float _CameraDepthTexture;
|
||||
uniform float4 _CameraDepthTexture_TexelSize;
|
||||
|
||||
#if UNITY_REVERSED_Z
|
||||
#define ZCMP_GT(a, b) (a < b)
|
||||
#else
|
||||
#define ZCMP_GT(a, b) (a > b)
|
||||
#endif
|
||||
|
||||
float depth_resolve_linear(float z)
|
||||
{
|
||||
#if CAMERA_ORTHOGRAPHIC
|
||||
#if UNITY_REVERSED_Z
|
||||
return (1.0 - z) * (_ProjectionParams.z - _ProjectionParams.y) + _ProjectionParams.y;
|
||||
#else
|
||||
return z * (_ProjectionParams.z - _ProjectionParams.y) + _ProjectionParams.y;
|
||||
#endif
|
||||
#else
|
||||
return LinearEyeDepth(z);
|
||||
#endif
|
||||
}
|
||||
|
||||
float depth_sample_linear(float2 uv)
|
||||
{
|
||||
return depth_resolve_linear(tex2D(_CameraDepthTexture, uv).x);
|
||||
}
|
||||
|
||||
float3 find_closest_fragment_3x3(float2 uv)
|
||||
{
|
||||
float2 dd = abs(_CameraDepthTexture_TexelSize.xy);
|
||||
float2 du = float2(dd.x, 0.0);
|
||||
float2 dv = float2(0.0, dd.y);
|
||||
|
||||
float3 dtl = float3(-1, -1, tex2D(_CameraDepthTexture, uv - dv - du).x);
|
||||
float3 dtc = float3( 0, -1, tex2D(_CameraDepthTexture, uv - dv).x);
|
||||
float3 dtr = float3( 1, -1, tex2D(_CameraDepthTexture, uv - dv + du).x);
|
||||
|
||||
float3 dml = float3(-1, 0, tex2D(_CameraDepthTexture, uv - du).x);
|
||||
float3 dmc = float3( 0, 0, tex2D(_CameraDepthTexture, uv).x);
|
||||
float3 dmr = float3( 1, 0, tex2D(_CameraDepthTexture, uv + du).x);
|
||||
|
||||
float3 dbl = float3(-1, 1, tex2D(_CameraDepthTexture, uv + dv - du).x);
|
||||
float3 dbc = float3( 0, 1, tex2D(_CameraDepthTexture, uv + dv).x);
|
||||
float3 dbr = float3( 1, 1, tex2D(_CameraDepthTexture, uv + dv + du).x);
|
||||
|
||||
float3 dmin = dtl;
|
||||
if (ZCMP_GT(dmin.z, dtc.z)) dmin = dtc;
|
||||
if (ZCMP_GT(dmin.z, dtr.z)) dmin = dtr;
|
||||
|
||||
if (ZCMP_GT(dmin.z, dml.z)) dmin = dml;
|
||||
if (ZCMP_GT(dmin.z, dmc.z)) dmin = dmc;
|
||||
if (ZCMP_GT(dmin.z, dmr.z)) dmin = dmr;
|
||||
|
||||
if (ZCMP_GT(dmin.z, dbl.z)) dmin = dbl;
|
||||
if (ZCMP_GT(dmin.z, dbc.z)) dmin = dbc;
|
||||
if (ZCMP_GT(dmin.z, dbr.z)) dmin = dbr;
|
||||
|
||||
return float3(uv + dd.xy * dmin.xy, dmin.z);
|
||||
}
|
||||
|
||||
/* UNUSED: tested slower than branching
|
||||
float2 find_closest_fragment_3x3_packed(in float2 uv)
|
||||
{
|
||||
float2 dd = abs(_CameraDepthTexture_TexelSize.xy);
|
||||
float2 du = float2(dd.x, 0.0);
|
||||
float2 dv = float2(0.0, dd.y);
|
||||
|
||||
const float s = 100000.0;
|
||||
float dtl = trunc(s * tex2D(_CameraDepthTexture, uv - dv - du).x) + 0.1010;// -+-+
|
||||
float dtc = trunc(s * tex2D(_CameraDepthTexture, uv - dv).x) + 0.0010;
|
||||
float dtr = trunc(s * tex2D(_CameraDepthTexture, uv - dv + du).x) + 0.0110;
|
||||
float dml = trunc(s * tex2D(_CameraDepthTexture, uv - du).x) + 0.1000;
|
||||
float dmc = trunc(s * tex2D(_CameraDepthTexture, uv).x) + 0.0000;
|
||||
float dmr = trunc(s * tex2D(_CameraDepthTexture, uv + du).x) + 0.0100;
|
||||
float dbl = trunc(s * tex2D(_CameraDepthTexture, uv + dv - du).x) + 0.1001;
|
||||
float dbc = trunc(s * tex2D(_CameraDepthTexture, uv + dv).x) + 0.0001;
|
||||
float dbr = trunc(s * tex2D(_CameraDepthTexture, uv + dv + du).x) + 0.0101;
|
||||
float enc = frac(min(dtl, min(dtc, min(dtr, min(dml, min(dmc, min(dmr, min(dbl, min(dbc, dbr)))))))));
|
||||
|
||||
float ru = 0.0;
|
||||
float rv = 0.0;
|
||||
|
||||
enc *= 10.0;
|
||||
ru -= trunc(enc);
|
||||
enc = frac(enc);
|
||||
|
||||
enc *= 10.0;
|
||||
ru += trunc(enc);
|
||||
enc = frac(enc);
|
||||
|
||||
enc *= 10.0;
|
||||
rv -= trunc(enc);
|
||||
enc = frac(enc);
|
||||
|
||||
enc *= 10.0;
|
||||
rv += trunc(enc);
|
||||
enc = frac(enc);
|
||||
|
||||
return uv + dd * float2(ru, rv);
|
||||
}*/
|
||||
|
||||
float3 find_closest_fragment_5tap(float2 uv)
|
||||
{
|
||||
float2 dd = abs(_CameraDepthTexture_TexelSize.xy);
|
||||
float2 du = float2(dd.x, 0.0);
|
||||
float2 dv = float2(0.0, dd.y);
|
||||
|
||||
float2 tl = -dv - du;
|
||||
float2 tr = -dv + du;
|
||||
float2 bl = dv - du;
|
||||
float2 br = dv + du;
|
||||
|
||||
float dtl = tex2D(_CameraDepthTexture, uv + tl).x;
|
||||
float dtr = tex2D(_CameraDepthTexture, uv + tr).x;
|
||||
float dmc = tex2D(_CameraDepthTexture, uv).x;
|
||||
float dbl = tex2D(_CameraDepthTexture, uv + bl).x;
|
||||
float dbr = tex2D(_CameraDepthTexture, uv + br).x;
|
||||
|
||||
float dmin = dmc;
|
||||
float2 dif = 0.0;
|
||||
|
||||
if (ZCMP_GT(dmin, dtl)) { dmin = dtl; dif = tl; }
|
||||
if (ZCMP_GT(dmin, dtr)) { dmin = dtr; dif = tr; }
|
||||
if (ZCMP_GT(dmin, dbl)) { dmin = dbl; dif = bl; }
|
||||
if (ZCMP_GT(dmin, dbr)) { dmin = dbr; dif = br; }
|
||||
|
||||
return float3(uv + dif, dmin);
|
||||
}
|
||||
|
||||
#endif//__DEPTH_CGINC__
|
||||
9
Assets/Plugins/PDTAA/Shaders/IncDepth.cginc.meta
Normal file
9
Assets/Plugins/PDTAA/Shaders/IncDepth.cginc.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e84bd3245769b9746ae57a016126a416
|
||||
timeCreated: 1486464894
|
||||
licenseType: Pro
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
38
Assets/Plugins/PDTAA/Shaders/IncNoise.cginc
Normal file
38
Assets/Plugins/PDTAA/Shaders/IncNoise.cginc
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
#ifndef __NOISE_CGINC__
|
||||
#define __NOISE_CGINC__
|
||||
|
||||
//====
|
||||
//note: normalized random, float=[0;1[
|
||||
float PDnrand( float2 n ) {
|
||||
return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* 43758.5453f );
|
||||
}
|
||||
float2 PDnrand2( float2 n ) {
|
||||
return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float2(43758.5453f, 28001.8384f) );
|
||||
}
|
||||
float3 PDnrand3( float2 n ) {
|
||||
return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float3(43758.5453f, 28001.8384f, 50849.4141f ) );
|
||||
}
|
||||
float4 PDnrand4( float2 n ) {
|
||||
return frac( sin(dot(n.xy, float2(12.9898f, 78.233f)))* float4(43758.5453f, 28001.8384f, 50849.4141f, 12996.89f) );
|
||||
}
|
||||
|
||||
//====
|
||||
//note: signed random, float=[-1;1[
|
||||
float PDsrand( float2 n ) {
|
||||
return PDnrand( n ) * 2 - 1;
|
||||
}
|
||||
float2 PDsrand2( float2 n ) {
|
||||
return PDnrand2( n ) * 2 - 1;
|
||||
}
|
||||
float3 PDsrand3( float2 n ) {
|
||||
return PDnrand3( n ) * 2 - 1;
|
||||
}
|
||||
float4 PDsrand4( float2 n ) {
|
||||
return PDnrand4( n ) * 2 - 1;
|
||||
}
|
||||
|
||||
#endif//__NOISE_CGINC__
|
||||
9
Assets/Plugins/PDTAA/Shaders/IncNoise.cginc.meta
Normal file
9
Assets/Plugins/PDTAA/Shaders/IncNoise.cginc.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 228669e43365e55468de0ef0b707a4bd
|
||||
timeCreated: 1437991512
|
||||
licenseType: Pro
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
431
Assets/Plugins/PDTAA/Shaders/TemporalReprojection.shader
Normal file
431
Assets/Plugins/PDTAA/Shaders/TemporalReprojection.shader
Normal file
|
|
@ -0,0 +1,431 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
Shader "Playdead/Post/TemporalReprojection"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex ("Base (RGB)", 2D) = "white" {}
|
||||
}
|
||||
|
||||
CGINCLUDE
|
||||
//--- program begin
|
||||
|
||||
#pragma only_renderers ps4 xboxone d3d11 d3d9 xbox360 opengl glcore gles3 metal vulkan
|
||||
#pragma target 3.0
|
||||
|
||||
#pragma multi_compile CAMERA_PERSPECTIVE CAMERA_ORTHOGRAPHIC
|
||||
//#pragma multi_compile __ UNJITTER_COLORSAMPLES
|
||||
//#pragma multi_compile __ UNJITTER_NEIGHBORHOOD
|
||||
//#pragma multi_compile __ UNJITTER_REPROJECTION
|
||||
#pragma multi_compile __ USE_AABB_ROUNDING
|
||||
#pragma multi_compile __ USE_CHROMA_COLORSPACE
|
||||
#pragma multi_compile __ USE_CLIPPING
|
||||
#pragma multi_compile __ USE_VARIANCE_CLIPPING
|
||||
#pragma multi_compile __ USE_CENTER_CLIPPING
|
||||
#pragma multi_compile __ USE_DILATION_5X
|
||||
#pragma multi_compile __ USE_DILATION_3X3
|
||||
#pragma multi_compile __ USE_HIGHER_ORDER_TEXTURE_FILTERING_COLOR
|
||||
#pragma multi_compile __ USE_HIGHER_ORDER_TEXTURE_FILTERING_HISTORY
|
||||
#pragma multi_compile __ USE_MOTION_BLUR
|
||||
#pragma multi_compile __ USE_MOTION_BLUR_NEIGHBORMAX
|
||||
|
||||
#define UNJITTER_COLORSAMPLES 1
|
||||
#define UNJITTER_NEIGHBORHOOD 0
|
||||
#define UNJITTER_REPROJECTION 0
|
||||
|
||||
//TODO: presets
|
||||
/*
|
||||
#if USE_HIGH_PERFORMANCE
|
||||
// best perf: 5 tap nearest, RGB, minmaxrounded, clamping, green_is_luminance, low-motionblur-samples
|
||||
#define USE_DILATION_5X 1
|
||||
#define USE_CENTER_CLIPPING 1
|
||||
#define APPROXIMATE_LUMINANCE_AS_GREEN 1
|
||||
#endif
|
||||
|
||||
#if USE_HIGH_QUALITY
|
||||
// best qual: 9 tap nearest, YCbCg, minmax, full clip, full lum, high-motionblur-samples
|
||||
#define USE_DILATION_3X3 1
|
||||
#define USE_CLIPPING 1
|
||||
#define USE_CHROMA_COLORSPACE 1
|
||||
#define USE_HIGHER_ORDER_TEXTURE_FILTERING_COLOR 1
|
||||
#define USE_HIGHER_ORDER_TEXTURE_FILTERING_HISTORY 1
|
||||
#endif
|
||||
*/
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "IncDepth.cginc"
|
||||
#include "IncNoise.cginc"
|
||||
#include "IncColor.cginc"
|
||||
|
||||
#if SHADER_API_MOBILE
|
||||
static const float FLT_EPS = 0.0001f;
|
||||
#else
|
||||
static const float FLT_EPS = 0.00000001f;
|
||||
#endif
|
||||
|
||||
uniform float4 _JitterUV;// frustum jitter uv deltas, where xy = current frame, zw = previous
|
||||
|
||||
uniform sampler2D _MainTex;
|
||||
uniform float4 _MainTex_TexelSize;
|
||||
|
||||
uniform sampler2D_half _VelocityBuffer;
|
||||
uniform sampler2D _VelocityNeighborMax;
|
||||
uniform float4 _VelocityNeighborMax_TexelSize;
|
||||
|
||||
uniform sampler2D _PrevTex;
|
||||
uniform float4 _PrevTex_TexelSize;
|
||||
|
||||
uniform sampler2D _DitherTex;
|
||||
uniform float4 _DitherTex_TexelSize;
|
||||
uniform float4 _DitherOffset_local;
|
||||
|
||||
uniform float _FeedbackMin;
|
||||
uniform float _FeedbackMinMax;
|
||||
uniform float _MotionScale;
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 cs_pos : SV_POSITION;
|
||||
float2 ss_txc : TEXCOORD0;
|
||||
nointerpolation float4 mad : TEXCOORD1;
|
||||
};
|
||||
|
||||
v2f vert(appdata_img IN)
|
||||
{
|
||||
v2f OUT;
|
||||
|
||||
#if UNITY_VERSION < 540
|
||||
OUT.cs_pos = UnityObjectToClipPos(IN.vertex);
|
||||
#else
|
||||
OUT.cs_pos = UnityObjectToClipPos(IN.vertex);
|
||||
#endif
|
||||
#if UNITY_SINGLE_PASS_STEREO
|
||||
OUT.ss_txc = UnityStereoTransformScreenSpaceTex(IN.texcoord.xy);
|
||||
#else
|
||||
OUT.ss_txc = IN.texcoord.xy;
|
||||
#endif
|
||||
|
||||
OUT.mad.xy = _PrevTex_TexelSize.zw * _DitherTex_TexelSize.xy;
|
||||
OUT.mad.zw = _DitherOffset_local.xy * _DitherTex_TexelSize.xy;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
float4 to_working_colorspace( float4 c )
|
||||
{
|
||||
#if USE_CHROMA_COLORSPACE
|
||||
return float4( RGB_YCbCr(c.rgb), c.a );
|
||||
//return float4( RGB_YCoCg(c.rgb), c.a );
|
||||
#else
|
||||
return c;
|
||||
#endif
|
||||
}
|
||||
float4 from_working_colorspace( float4 c )
|
||||
{
|
||||
#if USE_CHROMA_COLORSPACE
|
||||
return float4( YCbCr_RGB(c.rgb), c.a );
|
||||
//return float4( YCoCg_RGB(c.rgb), c.a );
|
||||
#else
|
||||
return c;
|
||||
#endif
|
||||
}
|
||||
|
||||
float4 clip_aabb(float3 aabb_min, float3 aabb_max, float4 p, float4 q)
|
||||
{
|
||||
#if USE_CENTER_CLIPPING
|
||||
// note: only clips towards aabb center (but fast!)
|
||||
float3 p_clip = 0.5 * (aabb_max + aabb_min);
|
||||
float3 e_clip = 0.5 * (aabb_max - aabb_min) + FLT_EPS;
|
||||
|
||||
float4 v_clip = q - float4(p_clip, p.w);
|
||||
float3 v_unit = v_clip.xyz / e_clip;
|
||||
float3 a_unit = abs(v_unit);
|
||||
float ma_unit = max(a_unit.x, max(a_unit.y, a_unit.z));
|
||||
|
||||
if (ma_unit > 1.0)
|
||||
return float4(p_clip, p.w) + v_clip / ma_unit;
|
||||
else
|
||||
return q;// point inside aabb
|
||||
#else
|
||||
float4 r = q - p;
|
||||
float3 rmax = aabb_max - p.xyz;
|
||||
float3 rmin = aabb_min - p.xyz;
|
||||
|
||||
const float eps = FLT_EPS;
|
||||
if (r.x > rmax.x + eps) r *= (rmax.x / r.x);
|
||||
if (r.y > rmax.y + eps) r *= (rmax.y / r.y);
|
||||
if (r.z > rmax.z + eps) r *= (rmax.z / r.z);
|
||||
|
||||
if (r.x < rmin.x - eps) r *= (rmin.x / r.x);
|
||||
if (r.y < rmin.y - eps) r *= (rmin.y / r.y);
|
||||
if (r.z < rmin.z - eps) r *= (rmin.z / r.z);
|
||||
|
||||
return p + r;
|
||||
#endif
|
||||
}
|
||||
|
||||
//TODO: option to toggle symmetric sampling
|
||||
static const int NUM_TAPS = 3;// on either side!
|
||||
static const float RCP_NUM_TAPS_F = 1.0f / float(NUM_TAPS);
|
||||
static const float RCP_NUM_TOTAL_TAPS_F = 1.0f / float(2*NUM_TAPS+1);
|
||||
half4 sample_color_motion( float2 uv, float2 ss_vel, float srand )
|
||||
{
|
||||
const float2 v = 0.5 * ss_vel;
|
||||
float2 vtap = v * RCP_NUM_TAPS_F;
|
||||
float2 pos0 = uv + vtap * srand;
|
||||
half4 accu = 0.0h;
|
||||
|
||||
[unroll]
|
||||
for (int i = -NUM_TAPS; i <= NUM_TAPS; i++)
|
||||
{
|
||||
accu += to_working_colorspace( tex2D(_MainTex, pos0 + i * vtap) );
|
||||
}
|
||||
|
||||
return accu * RCP_NUM_TOTAL_TAPS_F;
|
||||
}
|
||||
|
||||
float lengthsq( float2 v )
|
||||
{
|
||||
return dot(v,v);
|
||||
}
|
||||
|
||||
float4 temporal_reprojection(float2 ss_txc, float2 ss_vel, float vs_dist)
|
||||
{
|
||||
// read texels
|
||||
#if UNJITTER_COLORSAMPLES
|
||||
float2 cuv = ss_txc - _JitterUV.xy;
|
||||
#else
|
||||
float2 cuv = ss_txc;
|
||||
#endif
|
||||
|
||||
// read texels
|
||||
#if USE_HIGHER_ORDER_TEXTURE_FILTERING_COLOR
|
||||
half4 texel0 = sample_cubic(_MainTex, cuv, _MainTex_TexelSize.zw); //softer
|
||||
#else
|
||||
half4 texel0 = tex2D(_MainTex, cuv); //note: sharper, faster
|
||||
#endif
|
||||
texel0 = to_working_colorspace( texel0 );
|
||||
|
||||
#if USE_HIGHER_ORDER_TEXTURE_FILTERING_HISTORY
|
||||
half4 texel1 = sample_catmull_rom(_PrevTex, ss_txc - ss_vel, _PrevTex_TexelSize.zw);
|
||||
#else
|
||||
half4 texel1 = tex2D(_PrevTex, ss_txc - ss_vel);
|
||||
#endif
|
||||
texel1 = to_working_colorspace( texel1 );
|
||||
|
||||
// calc min-max of current neighbourhood
|
||||
#if UNJITTER_NEIGHBORHOOD
|
||||
float2 uv = ss_txc - _JitterUV.xy;
|
||||
#else
|
||||
float2 uv = ss_txc;
|
||||
#endif
|
||||
|
||||
float2 du = float2(_MainTex_TexelSize.x, 0.0);
|
||||
float2 dv = float2(0.0, _MainTex_TexelSize.y);
|
||||
float4 ctl = to_working_colorspace( tex2D(_MainTex, uv - dv - du) );
|
||||
float4 ctc = to_working_colorspace( tex2D(_MainTex, uv - dv) );
|
||||
float4 ctr = to_working_colorspace( tex2D(_MainTex, uv - dv + du) );
|
||||
float4 cml = to_working_colorspace( tex2D(_MainTex, uv - du) );
|
||||
float4 cmc = to_working_colorspace( tex2D(_MainTex, uv) );
|
||||
float4 cmr = to_working_colorspace( tex2D(_MainTex, uv + du) );
|
||||
float4 cbl = to_working_colorspace( tex2D(_MainTex, uv + dv - du) );
|
||||
float4 cbc = to_working_colorspace( tex2D(_MainTex, uv + dv) );
|
||||
float4 cbr = to_working_colorspace( tex2D(_MainTex, uv + dv + du) );
|
||||
|
||||
float4 cmin5 = min(ctc, min(cml, min(cmc, min(cmr, cbc))));
|
||||
float4 cmax5 = max(ctc, max(cml, max(cmc, max(cmr, cbc))));
|
||||
float4 csum5 = ctc + cml + cmc + cmr + cbc;
|
||||
|
||||
float4 cmin = min(cmin5, min(ctl, min(ctr, min(cbl, cbr))));
|
||||
float4 cmax = max(cmax5, max(ctl, max(ctr, max(cbl, cbr))));
|
||||
|
||||
#if USE_CHROMA_COLORSPACE || USE_CLIPPING
|
||||
float4 cavg = (csum5 + ctl + ctr + cbl + cbr) / 9.0;
|
||||
#endif
|
||||
|
||||
#if USE_AABB_ROUNDING
|
||||
cmin = 0.5 * (cmin + cmin5);
|
||||
cmax = 0.5 * (cmax + cmax5);
|
||||
#if USE_CLIPPING
|
||||
cavg = 0.5 * (cavg + 0.2 * csum5);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if USE_VARIANCE_CLIPPING
|
||||
//note: salvi variance-clipping
|
||||
{
|
||||
const float3 w = float3(1.0/16.0, 2.0/16.0, 4.0/16.0);
|
||||
|
||||
float4 colorAvg = w.z*cmc;
|
||||
float4 colorVar = w.z*cmc*cmc;
|
||||
colorAvg += w.x * ctl; colorVar += w.x * ctl * ctl;
|
||||
colorAvg += w.y * ctc; colorVar += w.y * ctc * ctc;
|
||||
colorAvg += w.x * ctr; colorVar += w.x * ctr * ctr;
|
||||
colorAvg += w.y * cml; colorVar += w.y * cml * cml;
|
||||
//colorAvg += w.z * cmc; colorVar += w.z * cmc * cmc;
|
||||
colorAvg += w.y * cmr; colorVar += w.y * cmr * cmr;
|
||||
colorAvg += w.x * cbl; colorVar += w.x * cbl * cbl;
|
||||
colorAvg += w.y * cbc; colorVar += w.y * cbc * cbc;
|
||||
colorAvg += w.x * cbr; colorVar += w.x * cbr * cbr;
|
||||
|
||||
float4 dev = sqrt(max(FLT_EPS, colorVar - colorAvg*colorAvg));
|
||||
const float gColorBoxSigma = 1.0; //TODO: expose [0.75;1.25]
|
||||
cmin = max(cmin, colorAvg - gColorBoxSigma * dev );
|
||||
cmax = min(cmax, colorAvg + gColorBoxSigma * dev );
|
||||
#if USE_CLIPPING
|
||||
cavg = colorAvg;
|
||||
#endif
|
||||
}
|
||||
#endif //USE_VARIANCE_CLIPPING
|
||||
|
||||
//note: shrink chroma min-max
|
||||
#if USE_CHROMA_COLORSPACE
|
||||
float2 chroma_extent = 0.25 * 0.5 * (cmax.xx - cmin.xx);
|
||||
float2 chroma_center = texel0.yz;
|
||||
float2 ccmin = chroma_center - chroma_extent;
|
||||
float2 ccmax = chroma_center + chroma_extent;
|
||||
if ( lengthsq(ccmax-ccmin) > lengthsq(cmax.yz-cmin.yz) )
|
||||
{
|
||||
cmin.yz = ccmin;
|
||||
cmax.yz = ccmax;
|
||||
#if USE_CLIPPING
|
||||
cavg.yz = chroma_center;
|
||||
#endif
|
||||
}
|
||||
#endif //USE_CHROMA_COLORSPACE
|
||||
|
||||
// clamp to neighbourhood of current sample
|
||||
#if USE_CLIPPING
|
||||
texel1 = clip_aabb(cmin.xyz, cmax.xyz, clamp(cavg, cmin, cmax), texel1);
|
||||
#else
|
||||
texel1 = clamp(texel1, cmin, cmax);
|
||||
#endif
|
||||
|
||||
|
||||
// feedback weight from unbiased luminance diff (t.lottes)
|
||||
#if USE_CHROMA_COLORSPACE
|
||||
float lum0 = texel0.r;
|
||||
float lum1 = texel1.r;
|
||||
#else
|
||||
#if APPROXIMATE_LUMINANCE_AS_GREEN
|
||||
float lum0 = texel0.g;
|
||||
float lum1 = texel1.g;
|
||||
#else
|
||||
float lum0 = Luminance(texel0.rgb);
|
||||
float lum1 = Luminance(texel1.rgb);
|
||||
#endif
|
||||
#endif
|
||||
float unbiased_diff = abs(lum0 - lum1) / max(lum0, max(lum1, 0.2));
|
||||
float unbiased_weight = 1.0 - unbiased_diff;
|
||||
float unbiased_weight_sqr = unbiased_weight * unbiased_weight;
|
||||
float k_feedback = _FeedbackMin + unbiased_weight_sqr * _FeedbackMinMax;
|
||||
|
||||
// output
|
||||
return lerp(texel0, texel1, k_feedback);
|
||||
}
|
||||
|
||||
struct f2rt
|
||||
{
|
||||
fixed4 buffer : SV_Target0;
|
||||
fixed4 screen : SV_Target1;
|
||||
};
|
||||
|
||||
f2rt frag(v2f IN)
|
||||
{
|
||||
f2rt OUT;
|
||||
|
||||
#if UNJITTER_REPROJECTION
|
||||
float2 uv = IN.ss_txc - _JitterUV.xy;
|
||||
#else
|
||||
float2 uv = IN.ss_txc;
|
||||
#endif
|
||||
|
||||
//note: RPDF blue-noise
|
||||
half4 rnd = tex2Dlod( _DitherTex, float4( IN.ss_txc * IN.mad.xy + IN.mad.zw, 0, 0) );
|
||||
|
||||
#if USE_DILATION_5X
|
||||
//--- 5 tap nearest (decent)
|
||||
float3 c_frag = find_closest_fragment_5tap(uv);
|
||||
float2 ss_vel = tex2D(_VelocityBuffer, c_frag.xy).xy;
|
||||
float vs_dist = depth_resolve_linear(c_frag.z);
|
||||
#elif USE_DILATION_3X3
|
||||
//--- 3x3 nearest (good)
|
||||
float3 c_frag = find_closest_fragment_3x3(uv);
|
||||
float2 ss_vel = tex2D(_VelocityBuffer, c_frag.xy).xy;
|
||||
float vs_dist = depth_resolve_linear(c_frag.z);
|
||||
#else
|
||||
float2 ss_vel = tex2D(_VelocityBuffer, uv).xy;
|
||||
float vs_dist = depth_sample_linear(uv);
|
||||
#endif
|
||||
|
||||
// temporal resolve
|
||||
float4 color_temporal = temporal_reprojection(IN.ss_txc, ss_vel, vs_dist);
|
||||
|
||||
// prepare outputs
|
||||
float4 to_buffer = color_temporal;
|
||||
|
||||
#if USE_MOTION_BLUR
|
||||
#if USE_MOTION_BLUR_NEIGHBORMAX
|
||||
//ss_vel = _MotionScale * tex2D(_VelocityNeighborMax, IN.ss_txc).xy;
|
||||
ss_vel = _MotionScale * sample_cubic(_VelocityNeighborMax, IN.ss_txc, _VelocityNeighborMax_TexelSize.zw).xy;
|
||||
#else
|
||||
ss_vel = _MotionScale * ss_vel;
|
||||
#endif
|
||||
|
||||
float vel_mag = length(ss_vel * _MainTex_TexelSize.zw);
|
||||
const float vel_trust_full = 2.0;
|
||||
const float vel_trust_none = 15.0;
|
||||
const float vel_trust_span = vel_trust_none - vel_trust_full;
|
||||
float trust = 1.0 - clamp(vel_mag - vel_trust_full, 0.0, vel_trust_span) / vel_trust_span;
|
||||
|
||||
#if UNJITTER_COLORSAMPLES
|
||||
half4 color_motion = sample_color_motion( IN.ss_txc - _JitterUV.xy, ss_vel, rnd.xy-0.5h);
|
||||
#else
|
||||
half4 color_motion = sample_color_motion( IN.ss_txc, ss_vel, rnd.xy-0.5h);
|
||||
#endif
|
||||
|
||||
float4 to_screen = lerp(color_motion, color_temporal, trust);
|
||||
#else
|
||||
float4 to_screen = color_temporal;
|
||||
#endif
|
||||
|
||||
to_buffer = from_working_colorspace( to_buffer );
|
||||
to_screen = from_working_colorspace( to_screen );
|
||||
|
||||
//note: velocity debug
|
||||
//to_screen.g += 100.0 * length(ss_vel);
|
||||
//to_screen = float4(100.0 * abs(ss_vel), 0.0, 0.0);
|
||||
|
||||
// dither color-output
|
||||
float4 noise4_tri = remap_noise_tri( rnd ) / 255.0;
|
||||
OUT.buffer = saturate(to_buffer + noise4_tri);
|
||||
OUT.screen = saturate(to_screen + noise4_tri);
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
//--- program end
|
||||
ENDCG
|
||||
|
||||
SubShader
|
||||
{
|
||||
ZTest Always
|
||||
Cull Off
|
||||
ZWrite Off
|
||||
Fog { Mode off }
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
Fallback off
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7ca93c1a56ee0154b8c714591d6d211a
|
||||
timeCreated: 1437991034
|
||||
licenseType: Pro
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
309
Assets/Plugins/PDTAA/Shaders/VelocityBuffer.shader
Normal file
309
Assets/Plugins/PDTAA/Shaders/VelocityBuffer.shader
Normal file
|
|
@ -0,0 +1,309 @@
|
|||
// Copyright (c) <2015> <Playdead>
|
||||
// This file is subject to the MIT License as seen in the root of this folder structure (LICENSE.TXT)
|
||||
// AUTHOR: Lasse Jon Fuglsang Pedersen <lasse@playdead.com>
|
||||
|
||||
Shader "Playdead/Post/VelocityBuffer"
|
||||
{
|
||||
CGINCLUDE
|
||||
//--- program begin
|
||||
|
||||
#pragma only_renderers ps4 xboxone d3d11 d3d9 xbox360 opengl glcore gles3 metal vulkan
|
||||
#pragma target 3.0
|
||||
|
||||
#pragma multi_compile CAMERA_PERSPECTIVE CAMERA_ORTHOGRAPHIC
|
||||
#pragma multi_compile __ TILESIZE_10 TILESIZE_20 TILESIZE_40
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "IncDepth.cginc"
|
||||
|
||||
#if UNITY_VERSION < 540
|
||||
uniform float4x4 _CameraToWorld;// UNITY_SHADER_NO_UPGRADE
|
||||
#endif
|
||||
|
||||
#if UNITY_VERSION < 550
|
||||
#define STEREO_ARRAY
|
||||
#define STEREO_INDEX(x) x
|
||||
#else
|
||||
#define STEREO_ARRAY [2]
|
||||
#define STEREO_INDEX(x) x[unity_StereoEyeIndex]
|
||||
#endif
|
||||
|
||||
uniform sampler2D_half _VelocityTex;
|
||||
uniform float4 _VelocityTex_TexelSize;
|
||||
|
||||
uniform float4 _ProjectionExtents STEREO_ARRAY;// xy = frustum extents at distance 1, zw = jitter at distance 1
|
||||
|
||||
uniform float4x4 _CurrV STEREO_ARRAY;
|
||||
uniform float4x4 _CurrVP STEREO_ARRAY;
|
||||
uniform float4x4 _CurrM;
|
||||
|
||||
uniform float4x4 _PrevVP STEREO_ARRAY;
|
||||
uniform float4x4 _PrevVP_NoFlip STEREO_ARRAY;
|
||||
uniform float4x4 _PrevM;
|
||||
|
||||
struct blit_v2f
|
||||
{
|
||||
float4 cs_pos : SV_POSITION;
|
||||
float2 ss_txc : TEXCOORD0;
|
||||
float2 vs_ray : TEXCOORD1;
|
||||
};
|
||||
|
||||
blit_v2f blit_vert(appdata_img IN)
|
||||
{
|
||||
blit_v2f OUT;
|
||||
|
||||
#if UNITY_VERSION < 540
|
||||
OUT.cs_pos = mul(UNITY_MATRIX_MVP, IN.vertex);
|
||||
#else
|
||||
OUT.cs_pos = UnityObjectToClipPos(IN.vertex);
|
||||
#endif
|
||||
|
||||
#if UNITY_SINGLE_PASS_STEREO
|
||||
OUT.ss_txc = UnityStereoTransformScreenSpaceTex(IN.texcoord.xy);
|
||||
#else
|
||||
OUT.ss_txc = IN.texcoord.xy;
|
||||
#endif
|
||||
OUT.vs_ray = (2.0 * IN.texcoord.xy - 1.0) * STEREO_INDEX(_ProjectionExtents).xy + STEREO_INDEX(_ProjectionExtents).zw;
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
float4 blit_frag_prepass(blit_v2f IN) : SV_Target
|
||||
{
|
||||
// reconstruct world position
|
||||
float vs_dist = depth_sample_linear(IN.ss_txc);
|
||||
#if CAMERA_PERSPECTIVE
|
||||
float3 vs_pos = float3(IN.vs_ray, 1.0) * vs_dist;
|
||||
#elif CAMERA_ORTHOGRAPHIC
|
||||
float3 vs_pos = float3(IN.vs_ray, vs_dist);
|
||||
#else
|
||||
#error "missing keyword CAMERA_..."
|
||||
#endif
|
||||
|
||||
#if UNITY_VERSION < 540
|
||||
float4 ws_pos = mul(_CameraToWorld, float4(vs_pos, 1.0));// UNITY_SHADER_NO_UPGRADE
|
||||
#else
|
||||
float4 ws_pos = mul(unity_CameraToWorld, float4(vs_pos, 1.0));
|
||||
#endif
|
||||
|
||||
//// NOTE: world space debug at 3D crane
|
||||
//return 0.1 * float4(ws_pos.xy - float2(595.0, -215.0), 0.0, 0.0);
|
||||
|
||||
// reproject into previous frame
|
||||
float4 rp_cs_pos = mul(STEREO_INDEX(_PrevVP_NoFlip), ws_pos);
|
||||
float2 rp_ss_ndc = rp_cs_pos.xy / rp_cs_pos.w;
|
||||
float2 rp_ss_txc = 0.5 * rp_ss_ndc + 0.5;
|
||||
|
||||
// estimate velocity
|
||||
#if UNITY_SINGLE_PASS_STEREO
|
||||
float2 ss_vel = IN.ss_txc - UnityStereoTransformScreenSpaceTex(rp_ss_txc);
|
||||
#else
|
||||
float2 ss_vel = IN.ss_txc - rp_ss_txc;
|
||||
#endif
|
||||
|
||||
// output
|
||||
return float4(ss_vel, 0.0, 0.0);
|
||||
}
|
||||
|
||||
float4 blit_frag_tilemax(blit_v2f IN) : SV_Target
|
||||
{
|
||||
#if TILESIZE_10
|
||||
const int support = 10;
|
||||
#elif TILESIZE_20
|
||||
const int support = 20;
|
||||
#elif TILESIZE_40
|
||||
const int support = 40;
|
||||
#else
|
||||
const int support = 1;
|
||||
#endif
|
||||
|
||||
const float2 step = _VelocityTex_TexelSize.xy;
|
||||
const float2 base = IN.ss_txc + (0.5 - 0.5 * support) * step;
|
||||
const float2 du = float2(_VelocityTex_TexelSize.x, 0.0);
|
||||
const float2 dv = float2(0.0, _VelocityTex_TexelSize.y);
|
||||
|
||||
float2 mv = 0.0;
|
||||
float rmv = 0.0;
|
||||
|
||||
[unroll(10)]
|
||||
for (int i = 0; i != support; i++)
|
||||
{
|
||||
[unroll(10)]
|
||||
for (int j = 0; j != support; j++)
|
||||
{
|
||||
float2 v = tex2D(_VelocityTex, base + i * dv + j * du).xy;
|
||||
float rv = dot(v, v);
|
||||
if (rv > rmv)
|
||||
{
|
||||
mv = v;
|
||||
rmv = rv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return float4(mv, 0.0, 0.0);
|
||||
}
|
||||
|
||||
float4 blit_frag_neighbormax(blit_v2f IN) : SV_Target
|
||||
{
|
||||
const float2 du = float2(_VelocityTex_TexelSize.x, 0.0);
|
||||
const float2 dv = float2(0.0, _VelocityTex_TexelSize.y);
|
||||
|
||||
float2 mv = 0.0;
|
||||
float dmv = 0.0;
|
||||
|
||||
[unroll]
|
||||
for (int i = -1; i <= 1; i++)
|
||||
{
|
||||
[unroll]
|
||||
for (int j = -1; j <= 1; j++)
|
||||
{
|
||||
float2 v = tex2D(_VelocityTex, IN.ss_txc + i * dv + j * du).xy;
|
||||
float dv = dot(v, v);
|
||||
if (dv > dmv)
|
||||
{
|
||||
mv = v;
|
||||
dmv = dv;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return float4(mv, 0.0, 0.0);
|
||||
}
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 cs_pos : SV_POSITION;
|
||||
float4 ss_pos : TEXCOORD0;
|
||||
float3 cs_xy_curr : TEXCOORD1;
|
||||
float3 cs_xy_prev : TEXCOORD2;
|
||||
};
|
||||
|
||||
v2f process_vertex(float4 ws_pos_curr, float4 ws_pos_prev)
|
||||
{
|
||||
v2f OUT;
|
||||
|
||||
const float occlusion_bias = 0.03;
|
||||
|
||||
OUT.cs_pos = mul(mul(STEREO_INDEX(_CurrVP), _CurrM), ws_pos_curr);
|
||||
OUT.ss_pos = ComputeScreenPos(OUT.cs_pos);
|
||||
OUT.ss_pos.z = -mul(mul(STEREO_INDEX(_CurrV), _CurrM), ws_pos_curr).z - occlusion_bias;// COMPUTE_EYEDEPTH
|
||||
OUT.cs_xy_curr = OUT.cs_pos.xyw;
|
||||
OUT.cs_xy_prev = mul(mul(STEREO_INDEX(_PrevVP), _PrevM), ws_pos_prev).xyw;
|
||||
|
||||
#if UNITY_UV_STARTS_AT_TOP
|
||||
OUT.cs_xy_curr.y = -OUT.cs_xy_curr.y;
|
||||
OUT.cs_xy_prev.y = -OUT.cs_xy_prev.y;
|
||||
#endif
|
||||
|
||||
return OUT;
|
||||
}
|
||||
|
||||
v2f vert(appdata_base IN)
|
||||
{
|
||||
return process_vertex(IN.vertex, IN.vertex);
|
||||
}
|
||||
|
||||
v2f vert_skinned(appdata_base IN)
|
||||
{
|
||||
return process_vertex(IN.vertex, float4(IN.normal, 1.0));// previous frame positions stored in normal data
|
||||
}
|
||||
|
||||
float4 frag(v2f IN) : SV_Target
|
||||
{
|
||||
float2 ss_txc = IN.ss_pos.xy / IN.ss_pos.w;
|
||||
float scene_d = depth_sample_linear(ss_txc);
|
||||
|
||||
// discard if occluded
|
||||
clip(scene_d - IN.ss_pos.z);
|
||||
|
||||
// compute velocity in ndc
|
||||
float2 ndc_curr = IN.cs_xy_curr.xy / IN.cs_xy_curr.z;
|
||||
float2 ndc_prev = IN.cs_xy_prev.xy / IN.cs_xy_prev.z;
|
||||
|
||||
// compute screen space velocity [0,1;0,1]
|
||||
#if UNITY_SINGLE_PASS_STEREO
|
||||
return float4(0.5 * (ndc_curr - ndc_prev) * unity_StereoScaleOffset[unity_StereoEyeIndex].xy, 0.0, 0.0);
|
||||
#else
|
||||
return float4(0.5 * (ndc_curr - ndc_prev), 0.0, 0.0);
|
||||
#endif
|
||||
}
|
||||
|
||||
//--- program end
|
||||
ENDCG
|
||||
|
||||
SubShader
|
||||
{
|
||||
// 0: prepass
|
||||
Pass
|
||||
{
|
||||
ZTest Always Cull Off ZWrite Off
|
||||
Fog { Mode Off }
|
||||
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex blit_vert
|
||||
#pragma fragment blit_frag_prepass
|
||||
|
||||
ENDCG
|
||||
}
|
||||
|
||||
// 1: vertices
|
||||
Pass
|
||||
{
|
||||
ZTest LEqual Cull Back ZWrite On
|
||||
Fog { Mode Off }
|
||||
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
ENDCG
|
||||
}
|
||||
|
||||
// 2: vertices skinned
|
||||
Pass
|
||||
{
|
||||
ZTest LEqual Cull Back ZWrite On
|
||||
Fog { Mode Off }
|
||||
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex vert_skinned
|
||||
#pragma fragment frag
|
||||
|
||||
ENDCG
|
||||
}
|
||||
|
||||
// 3: tilemax
|
||||
Pass
|
||||
{
|
||||
ZTest Always Cull Off ZWrite Off
|
||||
Fog { Mode Off }
|
||||
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex blit_vert
|
||||
#pragma fragment blit_frag_tilemax
|
||||
|
||||
ENDCG
|
||||
}
|
||||
|
||||
// 4: neighbormax
|
||||
Pass
|
||||
{
|
||||
ZTest Always Cull Off ZWrite Off
|
||||
Fog { Mode Off }
|
||||
|
||||
CGPROGRAM
|
||||
|
||||
#pragma vertex blit_vert
|
||||
#pragma fragment blit_frag_neighbormax
|
||||
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
Fallback Off
|
||||
}
|
||||
9
Assets/Plugins/PDTAA/Shaders/VelocityBuffer.shader.meta
Normal file
9
Assets/Plugins/PDTAA/Shaders/VelocityBuffer.shader.meta
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0d7f09e63dd99504ca6e04212a21ec72
|
||||
timeCreated: 1437991034
|
||||
licenseType: Pro
|
||||
ShaderImporter:
|
||||
defaultTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Plugins/PDTAA/Textures.meta
Normal file
8
Assets/Plugins/PDTAA/Textures.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d20256cc7e82c41409096d0f7337479b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Plugins/PDTAA/Textures/bluenoise_frd_256x256_uni.bmp
(Stored with Git LFS)
Normal file
BIN
Assets/Plugins/PDTAA/Textures/bluenoise_frd_256x256_uni.bmp
(Stored with Git LFS)
Normal file
Binary file not shown.
103
Assets/Plugins/PDTAA/Textures/bluenoise_frd_256x256_uni.bmp.meta
Normal file
103
Assets/Plugins/PDTAA/Textures/bluenoise_frd_256x256_uni.bmp.meta
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 859f329ee8606864ea19dbf373a5ec56
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 10
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
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: 0
|
||||
streamingMipmapsPriority: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 0
|
||||
aniso: -1
|
||||
mipBias: -100
|
||||
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
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 3
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 3
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 0
|
||||
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: []
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
38
Assets/Resources/MinimapInfluence.renderTexture
Normal file
38
Assets/Resources/MinimapInfluence.renderTexture
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!84 &8400000
|
||||
RenderTexture:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MinimapInfluence
|
||||
m_ImageContentsHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00000000000000000000000000000000
|
||||
m_ForcedFallbackFormat: 4
|
||||
m_DownscaleFallback: 0
|
||||
m_IsAlphaChannelOptional: 0
|
||||
serializedVersion: 3
|
||||
m_Width: 128
|
||||
m_Height: 128
|
||||
m_AntiAliasing: 1
|
||||
m_MipCount: -1
|
||||
m_DepthFormat: 0
|
||||
m_ColorFormat: 45
|
||||
m_MipMap: 0
|
||||
m_GenerateMips: 1
|
||||
m_SRGB: 0
|
||||
m_UseDynamicScale: 0
|
||||
m_BindMS: 0
|
||||
m_EnableCompatibleFormat: 1
|
||||
m_TextureSettings:
|
||||
serializedVersion: 2
|
||||
m_FilterMode: 1
|
||||
m_Aniso: 0
|
||||
m_MipBias: 0
|
||||
m_WrapU: 1
|
||||
m_WrapV: 1
|
||||
m_WrapW: 1
|
||||
m_Dimension: 2
|
||||
m_VolumeDepth: 1
|
||||
8
Assets/Resources/MinimapInfluence.renderTexture.meta
Normal file
8
Assets/Resources/MinimapInfluence.renderTexture.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 062a14e7a1633d54babe1abee2d80c8d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
98
Assets/Resources/Prefabs/Influence.prefab
Normal file
98
Assets/Resources/Prefabs/Influence.prefab
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7850317761668179095
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7850317761668179092}
|
||||
- component: {fileID: 7850317761668179091}
|
||||
- component: {fileID: 7850317761668179090}
|
||||
- component: {fileID: 7850317761668179093}
|
||||
m_Layer: 18
|
||||
m_Name: Influence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7850317761668179092
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7850317761668179095}
|
||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 15, y: 15, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!33 &7850317761668179091
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7850317761668179095}
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!23 &7850317761668179090
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7850317761668179095}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a71206b06f60aec41bc533ba93ab7907, 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}
|
||||
--- !u!64 &7850317761668179093
|
||||
MeshCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7850317761668179095}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
7
Assets/Resources/Prefabs/Influence.prefab.meta
Normal file
7
Assets/Resources/Prefabs/Influence.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f1bbcf6a20e34d9418b869c8d676cc94
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1360,6 +1360,7 @@ GameObject:
|
|||
- component: {fileID: 5982170916787493278}
|
||||
- component: {fileID: 2332467440651030306}
|
||||
- component: {fileID: 1529386971535378498}
|
||||
- component: {fileID: 8850574344285972943}
|
||||
m_Layer: 0
|
||||
m_Name: Cube.049
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1430,6 +1431,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &8850574344285972943
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1741851352965887119}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1840369812660221961
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -3444,6 +3457,7 @@ GameObject:
|
|||
- component: {fileID: 6648017987509753602}
|
||||
- component: {fileID: 2732003696914504328}
|
||||
- component: {fileID: 7695589938957892982}
|
||||
- component: {fileID: 320934217430954188}
|
||||
m_Layer: 0
|
||||
m_Name: Hull.004
|
||||
m_TagString: Untagged
|
||||
|
|
@ -3516,6 +3530,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &320934217430954188
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4553351628973766712}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &4555381257277866707
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -5308,6 +5334,7 @@ GameObject:
|
|||
- component: {fileID: 8072591294915822744}
|
||||
- component: {fileID: 7601997898044220655}
|
||||
- component: {fileID: 6947431414621374079}
|
||||
- component: {fileID: 7966990959927922700}
|
||||
m_Layer: 0
|
||||
m_Name: Cube.051
|
||||
m_TagString: Untagged
|
||||
|
|
@ -5380,6 +5407,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &7966990959927922700
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6968646740625764887}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7015110794178153480
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -5511,6 +5550,7 @@ GameObject:
|
|||
- component: {fileID: 3037576536437670490}
|
||||
- component: {fileID: 6420375232892593331}
|
||||
- component: {fileID: 8014406518873149156}
|
||||
- component: {fileID: 8564200023711343795}
|
||||
m_Layer: 0
|
||||
m_Name: Hull.010
|
||||
m_TagString: Untagged
|
||||
|
|
@ -5585,6 +5625,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &8564200023711343795
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7253753735530809807}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7258030204231142313
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -5626,6 +5678,7 @@ GameObject:
|
|||
- component: {fileID: 1657475964761482609}
|
||||
- component: {fileID: 8396090283581331778}
|
||||
- component: {fileID: 5141865500411795960}
|
||||
- component: {fileID: 5262020600399391909}
|
||||
m_Layer: 0
|
||||
m_Name: Cylinder.025
|
||||
m_TagString: Untagged
|
||||
|
|
@ -5697,6 +5750,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &5262020600399391909
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7286026838022331306}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7319092097286478592
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -6166,6 +6231,7 @@ GameObject:
|
|||
- component: {fileID: 6959970163171280326}
|
||||
- component: {fileID: 32648527837932663}
|
||||
- component: {fileID: 5343439461626062230}
|
||||
- component: {fileID: 6805497031889056063}
|
||||
m_Layer: 0
|
||||
m_Name: Hull.006
|
||||
m_TagString: Untagged
|
||||
|
|
@ -6236,6 +6302,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &6805497031889056063
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7731301006886985777}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7734916916328946021
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -6486,6 +6564,7 @@ GameObject:
|
|||
- component: {fileID: 225284819656620592}
|
||||
- component: {fileID: 3554018075767873258}
|
||||
- component: {fileID: 2704032319350053861}
|
||||
- component: {fileID: 2654596628680292669}
|
||||
m_Layer: 0
|
||||
m_Name: Hull.008
|
||||
m_TagString: Untagged
|
||||
|
|
@ -6559,6 +6638,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &2654596628680292669
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7922225689561348092}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &7930906210874266039
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -6929,6 +7020,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 1306f57022ae47ceba7441145a065cb1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
InfluencePrefab: {fileID: 0}
|
||||
PingPrefab: {fileID: 3496685214803260728, guid: bfcaa66e173f6a44cb640aabbcb5e429,
|
||||
type: 3}
|
||||
InvisibleMaterial: {fileID: 2100000, guid: c94a225de88e5ce42af01c34df3521e6, type: 2}
|
||||
|
|
@ -6977,6 +7069,7 @@ GameObject:
|
|||
- component: {fileID: 373238189327005759}
|
||||
- component: {fileID: 8732357745223299660}
|
||||
- component: {fileID: 3811640789220449742}
|
||||
- component: {fileID: 8364907577857583681}
|
||||
m_Layer: 0
|
||||
m_Name: Hull.007
|
||||
m_TagString: Untagged
|
||||
|
|
@ -7047,6 +7140,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &8364907577857583681
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8620289461215737213}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &8724264203377141667
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 1306f57022ae47ceba7441145a065cb1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
InfluencePrefab: {fileID: 0}
|
||||
PingPrefab: {fileID: 3496685214803260728, guid: bfcaa66e173f6a44cb640aabbcb5e429,
|
||||
type: 3}
|
||||
InvisibleMaterial: {fileID: 2100000, guid: c94a225de88e5ce42af01c34df3521e6, type: 2}
|
||||
|
|
@ -1730,6 +1731,7 @@ GameObject:
|
|||
- component: {fileID: 4028928668500718027}
|
||||
- component: {fileID: 6423368230359933839}
|
||||
- component: {fileID: 8693096897863455396}
|
||||
- component: {fileID: 2748941174002375643}
|
||||
m_Layer: 0
|
||||
m_Name: Cube.043
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1808,6 +1810,18 @@ MeshRenderer:
|
|||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!114 &2748941174002375643
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8882633467169423962}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1cc21c48ee370cb42a042622dd21640d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &3244127278357174761
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -154,8 +154,13 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 170aefb3b5cd0e444826f3561d38a962, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
InfluencePrefab: {fileID: 7850317761668179092, guid: f1bbcf6a20e34d9418b869c8d676cc94,
|
||||
type: 3}
|
||||
PingPrefab: {fileID: 0}
|
||||
InvisibleMaterial: {fileID: 2100000, guid: c94a225de88e5ce42af01c34df3521e6, type: 2}
|
||||
Shield: {fileID: 0}
|
||||
HullColliders: []
|
||||
EquipmentHardpoints: []
|
||||
RadiatorHardpoints: []
|
||||
ThrusterHardpoints: []
|
||||
WeaponHardpoints: []
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Transform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3270076511764283730}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
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_Children: []
|
||||
|
|
@ -35,14 +35,13 @@ Transform:
|
|||
--- !u!198 &8928170315538518364
|
||||
ParticleSystem:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 4210795439511044087, guid: 016516404b2bc1649bdf789bfc96d1cb,
|
||||
type: 3}
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3270076511764283730}
|
||||
serializedVersion: 7
|
||||
lengthInSec: 5
|
||||
simulationSpeed: 5
|
||||
simulationSpeed: 2
|
||||
stopAction: 0
|
||||
cullingMode: 0
|
||||
ringBufferMode: 0
|
||||
|
|
@ -106,7 +105,7 @@ ParticleSystem:
|
|||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
moveWithTransform: 0
|
||||
moveWithTransform: 2
|
||||
moveWithCustomTransform: {fileID: 0}
|
||||
scalingMode: 2
|
||||
randomSeed: 0
|
||||
|
|
@ -116,7 +115,7 @@ ParticleSystem:
|
|||
startLifetime:
|
||||
serializedVersion: 2
|
||||
minMaxState: 0
|
||||
scalar: 1
|
||||
scalar: 0.5
|
||||
minScalar: 5
|
||||
maxCurve:
|
||||
serializedVersion: 2
|
||||
|
|
@ -747,7 +746,7 @@ ParticleSystem:
|
|||
sphericalDirectionAmount: 0
|
||||
randomPositionAmount: 0
|
||||
radius:
|
||||
value: 5
|
||||
value: 10
|
||||
mode: 0
|
||||
spread: 0
|
||||
speed:
|
||||
|
|
@ -866,7 +865,7 @@ ParticleSystem:
|
|||
rateOverTime:
|
||||
serializedVersion: 2
|
||||
minMaxState: 0
|
||||
scalar: 50
|
||||
scalar: 75
|
||||
minScalar: 10
|
||||
maxCurve:
|
||||
serializedVersion: 2
|
||||
|
|
@ -2194,13 +2193,13 @@ ParticleSystem:
|
|||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
value: -1
|
||||
inSlope: 3.072868
|
||||
outSlope: 3.072868
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
outWeight: 0.11519607
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
|
|
@ -2247,21 +2246,21 @@ ParticleSystem:
|
|||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 34
|
||||
value: -1
|
||||
inSlope: 3.0251138
|
||||
outSlope: 3.0251138
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0.33333334
|
||||
outWeight: 0.09068627
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 34
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
inWeight: 0.12531352
|
||||
outWeight: 0
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
|
|
@ -2343,7 +2342,7 @@ ParticleSystem:
|
|||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
inWorldSpace: 0
|
||||
inWorldSpace: 1
|
||||
randomizePerFrame: 0
|
||||
ExternalForcesModule:
|
||||
serializedVersion: 2
|
||||
|
|
@ -2683,7 +2682,7 @@ ParticleSystem:
|
|||
strength:
|
||||
serializedVersion: 2
|
||||
minMaxState: 0
|
||||
scalar: 100
|
||||
scalar: 25
|
||||
minScalar: 1
|
||||
maxCurve:
|
||||
serializedVersion: 2
|
||||
|
|
@ -4072,7 +4071,7 @@ ParticleSystem:
|
|||
widthOverTrail:
|
||||
serializedVersion: 2
|
||||
minMaxState: 1
|
||||
scalar: 0.5
|
||||
scalar: 0.25
|
||||
minScalar: 1
|
||||
maxCurve:
|
||||
serializedVersion: 2
|
||||
|
|
@ -4080,12 +4079,12 @@ ParticleSystem:
|
|||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: -1.7320683
|
||||
outSlope: -1.7320683
|
||||
inSlope: 6.705435
|
||||
outSlope: 6.705435
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0
|
||||
outWeight: 0.08387097
|
||||
outWeight: 0.034313723
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
|
|
@ -4772,7 +4771,7 @@ ParticleSystemRenderer:
|
|||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 6af0f423a2567be43b16d152d2b60e0c, type: 2}
|
||||
- {fileID: 2100000, guid: 9c20b9ccbbbb1b14cb5729e0c8460cd9, type: 2}
|
||||
- {fileID: 2100000, guid: 555ada90c0f01654a9387483bd95a688, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
|
|
|||
147
Assets/Resources/keyboard-layout-ansi104-TKL.json
Normal file
147
Assets/Resources/keyboard-layout-ansi104-TKL.json
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
[
|
||||
[
|
||||
"Esc",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F1",
|
||||
"F2",
|
||||
"F3",
|
||||
"F4",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"F5",
|
||||
"F6",
|
||||
"F7",
|
||||
"F8",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"F9",
|
||||
"F10",
|
||||
"F11",
|
||||
"F12"
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.5
|
||||
},
|
||||
"~\n`",
|
||||
"!\n1",
|
||||
"@\n2",
|
||||
"#\n3",
|
||||
"$\n4",
|
||||
"%\n5",
|
||||
"^\n6",
|
||||
"&\n7",
|
||||
"*\n8",
|
||||
"(\n9",
|
||||
")\n0",
|
||||
"_\n-",
|
||||
"+\n=",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"Backspace"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"Tab",
|
||||
"Q",
|
||||
"W",
|
||||
"E",
|
||||
"R",
|
||||
"T",
|
||||
"Y",
|
||||
"U",
|
||||
"I",
|
||||
"O",
|
||||
"P",
|
||||
"{\n[",
|
||||
"}\n]",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"|\n\\"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"Caps Lock",
|
||||
"A",
|
||||
"S",
|
||||
"D",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"J",
|
||||
"K",
|
||||
"L",
|
||||
":\n;",
|
||||
"\"\n'",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"Enter"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"Shift",
|
||||
"Z",
|
||||
"X",
|
||||
"C",
|
||||
"V",
|
||||
"B",
|
||||
"N",
|
||||
"M",
|
||||
"<\n,",
|
||||
">\n.",
|
||||
"?\n/",
|
||||
{
|
||||
"w": 2.75
|
||||
},
|
||||
"Shift"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Ctrl",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Alt",
|
||||
{
|
||||
"a": 7,
|
||||
"w": 6.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"a": 4,
|
||||
"w": 1.25
|
||||
},
|
||||
"Alt",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Menu",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Ctrl"
|
||||
]
|
||||
]
|
||||
7
Assets/Resources/keyboard-layout-ansi104-TKL.json.meta
Normal file
7
Assets/Resources/keyboard-layout-ansi104-TKL.json.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4fc56bdb9d966dc4aa0df52357227c52
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
214
Assets/Resources/keyboard-layout-ansi104.json
Normal file
214
Assets/Resources/keyboard-layout-ansi104.json
Normal file
|
|
@ -0,0 +1,214 @@
|
|||
[
|
||||
[
|
||||
"Esc",
|
||||
{
|
||||
"x": 1
|
||||
},
|
||||
"F1",
|
||||
"F2",
|
||||
"F3",
|
||||
"F4",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"F5",
|
||||
"F6",
|
||||
"F7",
|
||||
"F8",
|
||||
{
|
||||
"x": 0.5
|
||||
},
|
||||
"F9",
|
||||
"F10",
|
||||
"F11",
|
||||
"F12",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
[
|
||||
{
|
||||
"y": 0.5
|
||||
},
|
||||
"~\n`",
|
||||
"!\n1",
|
||||
"@\n2",
|
||||
"#\n3",
|
||||
"$\n4",
|
||||
"%\n5",
|
||||
"^\n6",
|
||||
"&\n7",
|
||||
"*\n8",
|
||||
"(\n9",
|
||||
")\n0",
|
||||
"_\n-",
|
||||
"+\n=",
|
||||
{
|
||||
"w": 2
|
||||
},
|
||||
"Backspace",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"Insert",
|
||||
"Home",
|
||||
"PgUp",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"",
|
||||
"/",
|
||||
"*",
|
||||
"-"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"Tab",
|
||||
"Q",
|
||||
"W",
|
||||
"E",
|
||||
"R",
|
||||
"T",
|
||||
"Y",
|
||||
"U",
|
||||
"I",
|
||||
"O",
|
||||
"P",
|
||||
"{\n[",
|
||||
"}\n]",
|
||||
{
|
||||
"w": 1.5
|
||||
},
|
||||
"|\n\\",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"Delete",
|
||||
"End",
|
||||
"PgDn",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"7\nHome",
|
||||
"8\n↑",
|
||||
"9\nPgUp",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"+"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.75
|
||||
},
|
||||
"Caps Lock",
|
||||
"A",
|
||||
"S",
|
||||
"D",
|
||||
"F",
|
||||
"G",
|
||||
"H",
|
||||
"J",
|
||||
"K",
|
||||
"L",
|
||||
":\n;",
|
||||
"\"\n'",
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"Enter",
|
||||
{
|
||||
"x": 3.5
|
||||
},
|
||||
"4\n←",
|
||||
"5",
|
||||
"6\n→"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 2.25
|
||||
},
|
||||
"Shift",
|
||||
"Z",
|
||||
"X",
|
||||
"C",
|
||||
"V",
|
||||
"B",
|
||||
"N",
|
||||
"M",
|
||||
"<\n,",
|
||||
">\n.",
|
||||
"?\n/",
|
||||
{
|
||||
"w": 2.75
|
||||
},
|
||||
"Shift",
|
||||
{
|
||||
"x": 1.25
|
||||
},
|
||||
"↑",
|
||||
{
|
||||
"x": 1.25
|
||||
},
|
||||
"1\nEnd",
|
||||
"2\n↓",
|
||||
"3\nPgDn",
|
||||
{
|
||||
"h": 2
|
||||
},
|
||||
"Enter"
|
||||
],
|
||||
[
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Ctrl",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Alt",
|
||||
{
|
||||
"a": 7,
|
||||
"w": 6.25
|
||||
},
|
||||
"Spacebar",
|
||||
{
|
||||
"a": 4,
|
||||
"w": 1.25
|
||||
},
|
||||
"Alt",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"",
|
||||
{
|
||||
"w": 1.25
|
||||
},
|
||||
"Ctrl",
|
||||
{
|
||||
"x": 0.25
|
||||
},
|
||||
"←",
|
||||
"↓",
|
||||
"→",
|
||||
{
|
||||
"x": 0.25,
|
||||
"w": 2
|
||||
},
|
||||
"0\nIns",
|
||||
".\nDel"
|
||||
]
|
||||
]
|
||||
7
Assets/Resources/keyboard-layout-ansi104.json.meta
Normal file
7
Assets/Resources/keyboard-layout-ansi104.json.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 44459239c373d2c449a479e84867648a
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -2551,6 +2551,7 @@ Transform:
|
|||
m_Children:
|
||||
- {fileID: 488792361}
|
||||
- {fileID: 970624070}
|
||||
- {fileID: 2095741462}
|
||||
m_Father: {fileID: 1665127616}
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -3065,7 +3066,7 @@ GameObject:
|
|||
- component: {fileID: 225222198}
|
||||
m_Layer: 0
|
||||
m_Name: Sector Camera
|
||||
m_TagString: MainCamera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
|
@ -3856,7 +3857,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 630131159}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -4130,7 +4131,7 @@ RectTransform:
|
|||
- {fileID: 1558182381}
|
||||
- {fileID: 519840346}
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 5
|
||||
m_RootOrder: 6
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -7007,6 +7008,80 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 425375562}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &439363413
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 439363414}
|
||||
- component: {fileID: 439363415}
|
||||
m_Layer: 0
|
||||
m_Name: Map Influence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &439363414
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 439363413}
|
||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 10, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 826773974}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
||||
--- !u!20 &439363415
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 439363413}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 1000
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 262144
|
||||
m_RenderingPath: 1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 0
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &444837017
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -7787,7 +7862,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -9924,6 +9999,7 @@ RectTransform:
|
|||
m_Children:
|
||||
- {fileID: 218215090}
|
||||
- {fileID: 800990061}
|
||||
- {fileID: 1390179642}
|
||||
- {fileID: 250585915}
|
||||
- {fileID: 1130044040}
|
||||
m_Father: {fileID: 1726632265}
|
||||
|
|
@ -9959,9 +10035,11 @@ MonoBehaviour:
|
|||
MapOverlayCamera: {fileID: 1075335643}
|
||||
GravityCamera: {fileID: 326516967}
|
||||
TintCamera: {fileID: 166261018}
|
||||
InfluenceCamera: {fileID: 439363415}
|
||||
OverlayDisplay: {fileID: 250585913}
|
||||
GravityDisplay: {fileID: 800990059}
|
||||
TintDisplay: {fileID: 218215088}
|
||||
InfluenceDisplay: {fileID: 1390179643}
|
||||
Scale: 1
|
||||
Position:
|
||||
x: 0
|
||||
|
|
@ -13329,6 +13407,7 @@ Transform:
|
|||
- {fileID: 326516965}
|
||||
- {fileID: 1075335641}
|
||||
- {fileID: 166261017}
|
||||
- {fileID: 439363414}
|
||||
m_Father: {fileID: 1665127616}
|
||||
m_RootOrder: 7
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
@ -15412,7 +15491,7 @@ GameObject:
|
|||
- component: {fileID: 970624070}
|
||||
- component: {fileID: 970624071}
|
||||
- component: {fileID: 970624072}
|
||||
m_Layer: 14
|
||||
m_Layer: 0
|
||||
m_Name: Map Overlays
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
|
|
@ -15976,7 +16055,7 @@ GameObject:
|
|||
- component: {fileID: 1005979868}
|
||||
m_Layer: 0
|
||||
m_Name: Influence Camera
|
||||
m_TagString: MainCamera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
|
@ -16087,9 +16166,7 @@ GameObject:
|
|||
- component: {fileID: 1009503730}
|
||||
- component: {fileID: 1009503729}
|
||||
- component: {fileID: 1009503731}
|
||||
- component: {fileID: 1009503732}
|
||||
- component: {fileID: 1009503733}
|
||||
- component: {fileID: 1009503734}
|
||||
- component: {fileID: 1009503735}
|
||||
- component: {fileID: 1009503736}
|
||||
m_Layer: 0
|
||||
|
|
@ -16217,6 +16294,7 @@ MonoBehaviour:
|
|||
MinimapCameras:
|
||||
- {fileID: 488792362}
|
||||
- {fileID: 970624071}
|
||||
- {fileID: 2095741464}
|
||||
FogMaterial: {fileID: 2100000, guid: 2ff39f5d101241043ba1dcde19d92f77, type: 2}
|
||||
FogFarFadeFraction: 0.125
|
||||
FarPlaneDistanceMultiplier: 2
|
||||
|
|
@ -16307,19 +16385,6 @@ MonoBehaviour:
|
|||
Sun: {fileID: 2259714927540639794, guid: 046dde0f4600bce41ad33c476f99b309, type: 3}
|
||||
PlanetoidIcon: {fileID: 2800000, guid: 823d8a1c4e071994087624c39f62b319, type: 3}
|
||||
PlanetIcon: {fileID: 2800000, guid: 0d2acbd593b7fd349b0b26b4844733ef, type: 3}
|
||||
--- !u!114 &1009503732
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1009503727}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 13f1fa636e0245e42be783568a76e3d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NoiseTexture: {fileID: 2800000, guid: 7c0a392de8821f345824a79dea0d0d41, type: 3}
|
||||
--- !u!114 &1009503733
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -16407,24 +16472,6 @@ MonoBehaviour:
|
|||
m_DefaultActionMap: Player
|
||||
m_SplitScreenIndex: -1
|
||||
m_Camera: {fileID: 2115559089}
|
||||
--- !u!114 &1009503734
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1009503727}
|
||||
m_Enabled: 0
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76d9e45f376fcfe409f3a4f26ccb4f3e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Main: {fileID: 2115559089}
|
||||
MinimapGravity: {fileID: 488792362}
|
||||
Minimap: {fileID: 970624071}
|
||||
GravityRenderer: {fileID: 0}
|
||||
ZoomSpeed: 0.001
|
||||
ZoneRenderer: {fileID: 1009503731}
|
||||
--- !u!114 &1009503735
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -16442,12 +16489,12 @@ MonoBehaviour:
|
|||
ParticleMaterial: {fileID: 2100000, guid: fc00c35c3c370774c88d55240b6538ce, type: 2}
|
||||
Span: 512
|
||||
Speed: 0.25
|
||||
MinimumSize: 1
|
||||
MaximumSize: 1
|
||||
Spacing: 8
|
||||
Ceiling: -400
|
||||
Floor: -30
|
||||
HeightExponent: 1000
|
||||
MinimumSize: 0.0025
|
||||
MaximumSize: 0.005
|
||||
Spacing: 4
|
||||
Ceiling: -430
|
||||
Floor: -50
|
||||
HeightExponent: 100000
|
||||
Heightmap: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
|
||||
ParticleColors: {fileID: 2800000, guid: 56db63da398b2d04394ddbccedce943c, type: 3}
|
||||
GravityCamera: {fileID: 1537342003}
|
||||
|
|
@ -18180,7 +18227,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 630131159}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -20796,6 +20843,81 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1367229140}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1390179641
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1390179642}
|
||||
- component: {fileID: 1390179644}
|
||||
- component: {fileID: 1390179643}
|
||||
m_Layer: 5
|
||||
m_Name: Influence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1390179642
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390179641}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 630131159}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1390179643
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390179641}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 2100000, guid: bb2e981dfdefd024692ad49294e51a23, type: 2}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: d4144ee6db2bf3c468cc5010acfe8974, type: 3}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &1390179644
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1390179641}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1390575962
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -22485,7 +22607,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1485884352
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -22586,7 +22708,7 @@ MonoBehaviour:
|
|||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: Local
|
||||
m_text: Explore
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: f65e20c70af9671428dd62c7c635e417, type: 2}
|
||||
m_sharedMaterial: {fileID: 2100000, guid: 0e7beef0cfe7ac44cb03690b8e068c5e, type: 2}
|
||||
|
|
@ -23189,6 +23311,78 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1529341206}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1532617454
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1532617455}
|
||||
- component: {fileID: 1532617457}
|
||||
- component: {fileID: 1532617456}
|
||||
m_Layer: 5
|
||||
m_Name: Influence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1532617455
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1532617454}
|
||||
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_Children: []
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1532617456
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1532617454}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 2100000, guid: f965075cca2ff2943ad339387269e057, type: 2}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Texture: {fileID: 2800000, guid: d4144ee6db2bf3c468cc5010acfe8974, type: 3}
|
||||
m_UVRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
--- !u!222 &1532617457
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1532617454}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1537342001
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -30434,6 +30628,100 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2095741461
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2095741462}
|
||||
- component: {fileID: 2095741464}
|
||||
- component: {fileID: 2095741463}
|
||||
m_Layer: 0
|
||||
m_Name: Map Influence
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2095741462
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2095741461}
|
||||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: 0, y: 10, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 199435031}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
||||
--- !u!114 &2095741463
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2095741461}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7ec4eea2d4fa2f64f80e17d11987e6f6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Target: {fileID: 2115559090}
|
||||
CopyXPosition: 1
|
||||
CopyYPosition: 0
|
||||
CopyZPosition: 1
|
||||
CopyRotation: 0
|
||||
PixelSnapCamera: {fileID: 0}
|
||||
PixelSnapIncrement: 1
|
||||
--- !u!20 &2095741464
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2095741461}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 1
|
||||
orthographic size: 1000
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 262144
|
||||
m_RenderingPath: 1
|
||||
m_TargetTexture: {fileID: 8400000, guid: 062a14e7a1633d54babe1abee2d80c8d, type: 2}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 0
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 0
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!1 &2101419017
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -30728,12 +31016,15 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 2115559090}
|
||||
- component: {fileID: 2115559089}
|
||||
- component: {fileID: 2115559098}
|
||||
- component: {fileID: 2115559091}
|
||||
- component: {fileID: 2115559092}
|
||||
- component: {fileID: 2115559093}
|
||||
- component: {fileID: 2115559094}
|
||||
- component: {fileID: 2115559095}
|
||||
- component: {fileID: 2115559088}
|
||||
- component: {fileID: 2115559097}
|
||||
- component: {fileID: 2115559096}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
|
|
@ -30766,7 +31057,7 @@ Camera:
|
|||
serializedVersion: 2
|
||||
m_ClearFlags: 2
|
||||
m_BackGroundColor: {r: 0.16037738, g: 0.16037738, b: 0.16037738, a: 1}
|
||||
m_projectionMatrixMode: 1
|
||||
m_projectionMatrixMode: 0
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
|
|
@ -30830,7 +31121,7 @@ MonoBehaviour:
|
|||
m_Bits: 256
|
||||
stopNaNPropagation: 1
|
||||
finalBlitToCameraTarget: 0
|
||||
antialiasingMode: 3
|
||||
antialiasingMode: 0
|
||||
temporalAntialiasing:
|
||||
jitterSpread: 1
|
||||
sharpness: 0
|
||||
|
|
@ -30957,6 +31248,66 @@ MonoBehaviour:
|
|||
positionOffset: {x: 0, y: 0, z: 0}
|
||||
m_posOffsetData: {fileID: 0}
|
||||
listenerMask: 1
|
||||
--- !u!114 &2115559096
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2115559087}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b642ff60407fe724bafa6602199213c0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
velocityShader: {fileID: 4800000, guid: 0d7f09e63dd99504ca6e04212a21ec72, type: 3}
|
||||
neighborMaxGen: 0
|
||||
neighborMaxSupport: 1
|
||||
numResident: 0
|
||||
numRendered: 0
|
||||
numDrawCalls: 0
|
||||
--- !u!114 &2115559097
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2115559087}
|
||||
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.3888889, z: -0.25, w: 0.16666669}
|
||||
activeIndex: 2
|
||||
--- !u!114 &2115559098
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2115559087}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 65f5677aa325c184f801528d78a73827, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ditherTex: {fileID: 2800000, guid: 859f329ee8606864ea19dbf373a5ec56, type: 3}
|
||||
reprojectionShader: {fileID: 4800000, guid: 7ca93c1a56ee0154b8c714591d6d211a, type: 3}
|
||||
colorspace: 0
|
||||
useHigherOrderFilteringMainColor: 1
|
||||
useHigherOrderFilteringHistory: 1
|
||||
historyRectification: 0
|
||||
useVarianceClipping: 1
|
||||
useAABBRounding: 1
|
||||
dilation: 2
|
||||
useMotionBlur: 0
|
||||
feedbackMin: 0.615
|
||||
feedbackMax: 0.99
|
||||
motionBlurStrength: 1
|
||||
motionBlurIgnoreFF: 0
|
||||
--- !u!1 &2117796865
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -31470,7 +31821,7 @@ GameObject:
|
|||
- component: {fileID: 2132980329}
|
||||
- component: {fileID: 2132980328}
|
||||
m_Layer: 0
|
||||
m_Name: Sector View
|
||||
m_Name: Galaxy View
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
|
@ -32658,7 +33009,7 @@ RectTransform:
|
|||
- {fileID: 2352149241950064198}
|
||||
- {fileID: 2352149240859250049}
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
|
@ -33100,7 +33451,7 @@ RectTransform:
|
|||
- {fileID: 2352149241923245455}
|
||||
- {fileID: 2352149240139726782}
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 15}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
|
|
@ -33343,7 +33694,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 2352149241280877834}
|
||||
m_RootOrder: 2
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
|
|
@ -34163,6 +34514,7 @@ RectTransform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 2352149241570183590}
|
||||
- {fileID: 1532617455}
|
||||
- {fileID: 496438311}
|
||||
- {fileID: 2352149240782116564}
|
||||
- {fileID: 2352149240622546024}
|
||||
|
|
|
|||
1251
Assets/Scenes/InputScreenTest.unity
Normal file
1251
Assets/Scenes/InputScreenTest.unity
Normal file
File diff suppressed because it is too large
Load diff
7
Assets/Scenes/InputScreenTest.unity.meta
Normal file
7
Assets/Scenes/InputScreenTest.unity.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c0c66914238f72742a7fa32c7df0fc02
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -820,7 +820,6 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 750375534}
|
||||
- component: {fileID: 750375535}
|
||||
- component: {fileID: 750375536}
|
||||
m_Layer: 0
|
||||
m_Name: Manager
|
||||
m_TagString: Untagged
|
||||
|
|
@ -858,29 +857,16 @@ MonoBehaviour:
|
|||
ParticleCalculation: {fileID: 7200000, guid: f53a4ba56f0db2a49ad9f68150bf298a, type: 3}
|
||||
ParticleMaterial: {fileID: 2100000, guid: fc00c35c3c370774c88d55240b6538ce, type: 2}
|
||||
Span: 256
|
||||
Speed: 0.125
|
||||
MinimumSize: 0.25
|
||||
MaximumSize: 1
|
||||
Spacing: 2
|
||||
Speed: 0.25
|
||||
MinimumSize: 0.0025
|
||||
MaximumSize: 0.005
|
||||
Spacing: 4
|
||||
Ceiling: 0
|
||||
Floor: -60
|
||||
HeightExponent: 800
|
||||
Floor: -40
|
||||
HeightExponent: 1000
|
||||
Heightmap: {fileID: 8400000, guid: 2fc21a9d3e9647948b56e384cd9378b3, type: 2}
|
||||
ParticleColors: {fileID: 2800000, guid: 56db63da398b2d04394ddbccedce943c, type: 3}
|
||||
GravityCamera: {fileID: 2103364771}
|
||||
--- !u!114 &750375536
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 750375533}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 13f1fa636e0245e42be783568a76e3d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NoiseTexture: {fileID: 2800000, guid: 7c0a392de8821f345824a79dea0d0d41, type: 3}
|
||||
--- !u!1 &765320284
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1098,6 +1084,7 @@ GameObject:
|
|||
- component: {fileID: 850359438}
|
||||
- component: {fileID: 850359441}
|
||||
- component: {fileID: 850359439}
|
||||
- component: {fileID: 850359440}
|
||||
m_Layer: 0
|
||||
m_Name: Persist
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1170,6 +1157,19 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
MusicSoundbankName: Main_Menu
|
||||
--- !u!114 &850359440
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 850359435}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 13f1fa636e0245e42be783568a76e3d6, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
NoiseTexture: {fileID: 2800000, guid: 7c0a392de8821f345824a79dea0d0d41, type: 3}
|
||||
--- !u!114 &850359441
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1207,9 +1207,12 @@ GameObject:
|
|||
- component: {fileID: 965376323}
|
||||
- component: {fileID: 965376327}
|
||||
- component: {fileID: 965376326}
|
||||
- component: {fileID: 965376331}
|
||||
- component: {fileID: 965376325}
|
||||
- component: {fileID: 965376322}
|
||||
- component: {fileID: 965376328}
|
||||
- component: {fileID: 965376330}
|
||||
- component: {fileID: 965376329}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
|
|
@ -1262,7 +1265,7 @@ Camera:
|
|||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_projectionMatrixMode: 0
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
|
|
@ -1326,7 +1329,7 @@ MonoBehaviour:
|
|||
m_Bits: 256
|
||||
stopNaNPropagation: 1
|
||||
finalBlitToCameraTarget: 0
|
||||
antialiasingMode: 3
|
||||
antialiasingMode: 0
|
||||
temporalAntialiasing:
|
||||
jitterSpread: 1
|
||||
sharpness: 0.25
|
||||
|
|
@ -1418,6 +1421,66 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier:
|
||||
_volMaterial: {fileID: 2100000, guid: e21702a5e6e98b7409d6913663ceab7e, type: 2}
|
||||
GridTransform: {fileID: 1172538221}
|
||||
--- !u!114 &965376329
|
||||
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: b642ff60407fe724bafa6602199213c0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
velocityShader: {fileID: 4800000, guid: 0d7f09e63dd99504ca6e04212a21ec72, type: 3}
|
||||
neighborMaxGen: 0
|
||||
neighborMaxSupport: 1
|
||||
numResident: 0
|
||||
numRendered: 0
|
||||
numDrawCalls: 0
|
||||
--- !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.375, y: -0.055555552, z: 0.25, w: -0.3888889}
|
||||
activeIndex: 3
|
||||
--- !u!114 &965376331
|
||||
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: 65f5677aa325c184f801528d78a73827, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ditherTex: {fileID: 2800000, guid: 859f329ee8606864ea19dbf373a5ec56, type: 3}
|
||||
reprojectionShader: {fileID: 4800000, guid: 7ca93c1a56ee0154b8c714591d6d211a, type: 3}
|
||||
colorspace: 0
|
||||
useHigherOrderFilteringMainColor: 0
|
||||
useHigherOrderFilteringHistory: 1
|
||||
historyRectification: 0
|
||||
useVarianceClipping: 1
|
||||
useAABBRounding: 1
|
||||
dilation: 2
|
||||
useMotionBlur: 1
|
||||
feedbackMin: 0.88
|
||||
feedbackMax: 0.97
|
||||
motionBlurStrength: 1
|
||||
motionBlurIgnoreFF: 0
|
||||
--- !u!4 &971662241 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 7852221720971737233, guid: 046dde0f4600bce41ad33c476f99b309,
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ public class ActionBarSlot : MonoBehaviour
|
|||
public ObservablePointerExitTrigger PointerExitTrigger;
|
||||
private ActionBarBinding binding;
|
||||
|
||||
public Entity Entity { get; set; }
|
||||
|
||||
public ActionBarBinding Binding
|
||||
{
|
||||
get => binding;
|
||||
|
|
@ -53,7 +51,7 @@ public class ActionBarSlot : MonoBehaviour
|
|||
},
|
||||
ActionBarGearBinding actionBarGearBinding => new SavedActionBarGearBinding
|
||||
{
|
||||
EquipmentIndex = Entity.Equipment.IndexOf(actionBarGearBinding.Item),
|
||||
EquipmentIndex = actionBarGearBinding.Entity.Equipment.IndexOf(actionBarGearBinding.Item),
|
||||
BehaviorIndex = Array.IndexOf(actionBarGearBinding.Item.Behaviors, actionBarGearBinding.Behavior)
|
||||
},
|
||||
ActionBarWeaponGroupBinding actionBarWeaponGroupBinding => new SavedActionBarWeaponGroupBinding
|
||||
|
|
@ -64,24 +62,24 @@ public class ActionBarSlot : MonoBehaviour
|
|||
};
|
||||
}
|
||||
|
||||
public void Restore(SavedActionBarBinding binding)
|
||||
public void Restore(SavedActionBarBinding binding, Entity entity)
|
||||
{
|
||||
Binding = binding switch
|
||||
{
|
||||
SavedActionBarConsumableBinding savedActionBarConsumableBinding =>
|
||||
new ActionBarConsumableBinding(
|
||||
Entity,
|
||||
entity,
|
||||
this,
|
||||
savedActionBarConsumableBinding.Target.Value),
|
||||
SavedActionBarGearBinding savedActionBarGearBinding =>
|
||||
new ActionBarGearBinding(
|
||||
Entity,
|
||||
entity,
|
||||
this,
|
||||
Entity.Equipment[savedActionBarGearBinding.EquipmentIndex],
|
||||
Entity.Equipment[savedActionBarGearBinding.EquipmentIndex]
|
||||
entity.Equipment[savedActionBarGearBinding.EquipmentIndex],
|
||||
entity.Equipment[savedActionBarGearBinding.EquipmentIndex]
|
||||
.Behaviors[savedActionBarGearBinding.BehaviorIndex] as IActivatedBehavior),
|
||||
SavedActionBarWeaponGroupBinding savedActionBarWeaponGroupBinding =>
|
||||
new ActionBarWeaponGroupBinding(Entity, this, savedActionBarWeaponGroupBinding.Group),
|
||||
new ActionBarWeaponGroupBinding(entity, this, savedActionBarWeaponGroupBinding.Group),
|
||||
_ => null
|
||||
};
|
||||
}
|
||||
|
|
@ -89,7 +87,7 @@ public class ActionBarSlot : MonoBehaviour
|
|||
|
||||
public abstract class ActionBarBinding
|
||||
{
|
||||
protected Entity Entity { get; }
|
||||
public Entity Entity { get; }
|
||||
protected ActionBarSlot Slot { get; }
|
||||
public abstract void Activate();
|
||||
public abstract void Deactivate();
|
||||
|
|
@ -192,7 +190,7 @@ public class ActionBarWeaponGroupBinding : ActionBarBinding
|
|||
|
||||
public override void Activate()
|
||||
{
|
||||
foreach (var weapon in Entity.TriggerGroups[Group].weapons)
|
||||
foreach (var weapon in Entity.WeaponGroups[Group].weapons)
|
||||
{
|
||||
weapon.Activate();
|
||||
}
|
||||
|
|
@ -200,7 +198,7 @@ public class ActionBarWeaponGroupBinding : ActionBarBinding
|
|||
|
||||
public override void Deactivate()
|
||||
{
|
||||
foreach (var weapon in Entity.TriggerGroups[Group].weapons)
|
||||
foreach (var weapon in Entity.WeaponGroups[Group].weapons)
|
||||
{
|
||||
weapon.Deactivate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -477,14 +477,6 @@ public class ActionGameManager : MonoBehaviour
|
|||
num.InputLabel.text = i.ToString();
|
||||
}
|
||||
|
||||
if(PlayerSettings.SavedRun!=null)
|
||||
{
|
||||
for (var i = 0; i < _actionBarSlots.Count; i++)
|
||||
{
|
||||
_actionBarSlots[i].Restore(PlayerSettings.SavedRun.ActionBarBindings[i]);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
|
@ -801,6 +793,11 @@ public class ActionGameManager : MonoBehaviour
|
|||
//StartCoroutine(IntroCutscene(targetEntity as Ship));
|
||||
BindToEntity(targetEntity);
|
||||
}
|
||||
|
||||
for (var i = 0; i < _actionBarSlots.Count; i++)
|
||||
{
|
||||
_actionBarSlots[i].Restore(PlayerSettings.SavedRun.ActionBarBindings[i], CurrentEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ using Random = UnityEngine.Random;
|
|||
|
||||
public class EntityInstance : MonoBehaviour
|
||||
{
|
||||
public Transform InfluencePrefab;
|
||||
public Transform PingPrefab;
|
||||
public Material InvisibleMaterial;
|
||||
public static Transform EffectManagerParent;
|
||||
|
|
@ -42,6 +43,7 @@ public class EntityInstance : MonoBehaviour
|
|||
private (Transform transform, MeshRenderer meshRenderer) _currentPing;
|
||||
private float _pingBrightness;
|
||||
private Sensor _sensor;
|
||||
private Transform _influenceInstance;
|
||||
|
||||
private List<(GameObject source, EquippedItem item)> _audioSources = new List<(GameObject source, EquippedItem item)>();
|
||||
// private (Reactor reactor, GameObject sfxSource) _reactor;
|
||||
|
|
@ -444,15 +446,12 @@ public class EntityInstance : MonoBehaviour
|
|||
}
|
||||
}));
|
||||
|
||||
// _subscriptions.Add(entity.Docked.Take(1).Subscribe(parent =>
|
||||
// {
|
||||
// if (Visible)
|
||||
// {
|
||||
// FadeOut(sectorRenderer.EntityFadeTime);
|
||||
// OnFadedOut += () => entity.Zone.Entities.Remove(entity);
|
||||
// }
|
||||
// else entity.Zone.Entities.Remove(entity);
|
||||
// }));
|
||||
// TODO: ActionGameManager.CurrentSector.FactionRelationships[orbital.Faction]
|
||||
if (entity is OrbitalEntity orbital && orbital.SecurityRadius > 1)// && (int) orbital.SecurityLevel > (int) SecurityLevel.Secure)
|
||||
{
|
||||
_influenceInstance = Instantiate(InfluencePrefab);
|
||||
_influenceInstance.transform.localScale = Vector3.one * orbital.SecurityRadius;
|
||||
}
|
||||
}
|
||||
|
||||
public Transform GetBarrel(HardpointData hardpoint)
|
||||
|
|
@ -473,7 +472,6 @@ public class EntityInstance : MonoBehaviour
|
|||
{
|
||||
AkSoundEngine.SetObjectPosition(source, source.transform);
|
||||
}
|
||||
LocalSpace.localPosition = transform.localPosition;
|
||||
if (_currentPing.transform)
|
||||
{
|
||||
_currentPing.transform.localScale = _sensor.PingRadius * Vector3.one;
|
||||
|
|
@ -518,7 +516,7 @@ public class EntityInstance : MonoBehaviour
|
|||
|
||||
foreach (var x in RadiatorMeshes)
|
||||
{
|
||||
x.Value.material.SetFloat("_Emission", Entity.ItemManager.GameplaySettings.TemperatureEmissionCurve.Evaluate(x.Key.Temperature));
|
||||
x.Value.material.SetFloat("_Emission", Entity.ItemManager.GameplaySettings.TemperatureEmissionCurve.Evaluate(x.Key.RadiatorTemperature));
|
||||
}
|
||||
|
||||
foreach (var x in Barrels)
|
||||
|
|
@ -528,11 +526,14 @@ public class EntityInstance : MonoBehaviour
|
|||
|
||||
LookAtPoint.position = transform.position + (Vector3) Entity.LookDirection *
|
||||
(Entity.Target.Value != null ? max(Entity.TargetRange,Entity.ItemManager.GameplaySettings.ConvergenceMinimumDistance) : 10000);
|
||||
transform.position = Entity.Position;
|
||||
LocalSpace.localPosition = transform.position = Entity.Position;
|
||||
if (_influenceInstance)
|
||||
_influenceInstance.position = new Vector3(Entity.Position.x, 0, Entity.Position.z);
|
||||
}
|
||||
|
||||
public virtual void OnDestroy()
|
||||
{
|
||||
if (_influenceInstance) Destroy(_influenceInstance.gameObject);
|
||||
Destroy(LocalSpace.gameObject);
|
||||
foreach (var (source, item) in _audioSources)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -119,10 +119,8 @@ public class ShipInstance : EntityInstance
|
|||
{
|
||||
var thrust = length(_aetherDrive.Drive.ThrustDirection);
|
||||
var forceOverLifetime = _aetherDrive.Particles.forceOverLifetime;
|
||||
var curve = forceOverLifetime.z;
|
||||
curve.curveMultiplier = thrust * _aetherDrive.BaseForce;
|
||||
if(thrust > .01f)
|
||||
_aetherDrive.Particles.transform.forward = new Vector3(_aetherDrive.Drive.ThrustDirection.x, 0, _aetherDrive.Drive.ThrustDirection.y);
|
||||
forceOverLifetime.xMultiplier = _aetherDrive.Drive.ThrustDirection.x * _aetherDrive.BaseForce;
|
||||
forceOverLifetime.zMultiplier = _aetherDrive.Drive.ThrustDirection.y * _aetherDrive.BaseForce;
|
||||
var emissionModule = _aetherDrive.Particles.emission;
|
||||
emissionModule.rateOverTimeMultiplier = _aetherDrive.BaseEmission * thrust;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,9 +33,9 @@ public class CombatState : BaseState
|
|||
|
||||
var toTarget = target.Position - _agent.Ship.Position;
|
||||
var targetDistance = length(toTarget);
|
||||
for (var i = 0; i < _agent.Ship.TriggerGroups.Length; i++)
|
||||
for (var i = 0; i < _agent.Ship.WeaponGroups.Length; i++)
|
||||
{
|
||||
var group = _agent.Ship.TriggerGroups[i];
|
||||
var group = _agent.Ship.WeaponGroups[i];
|
||||
var dps = 0f;
|
||||
foreach (var weapon in group.weapons)
|
||||
if (weapon.Item.Online.Value &&
|
||||
|
|
@ -80,7 +80,7 @@ public class CombatState : BaseState
|
|||
|
||||
if (selectedGroup >= 0)
|
||||
{
|
||||
var testWeapon = _agent.Ship.TriggerGroups[selectedGroup].weapons.First();
|
||||
var testWeapon = _agent.Ship.WeaponGroups[selectedGroup].weapons.First();
|
||||
if(testWeapon.Velocity > 1)
|
||||
{
|
||||
var targetHullData = _agent.ItemManager.GetData(target.Hull) as HullData;
|
||||
|
|
@ -100,7 +100,7 @@ public class CombatState : BaseState
|
|||
var shouldFire = dot(
|
||||
_agent.Ship.HardpointTransforms[_agent.Ship.Hardpoints[testWeapon.Item.Position.x, testWeapon.Item.Position.y]].direction,
|
||||
toTarget) > .99f;
|
||||
foreach (var weapon in _agent.Ship.TriggerGroups[selectedGroup].weapons)
|
||||
foreach (var weapon in _agent.Ship.WeaponGroups[selectedGroup].weapons)
|
||||
{
|
||||
if (shouldFire)
|
||||
weapon.Activate();
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ public abstract class Entity
|
|||
public readonly Dictionary<HardpointData, (float3 position, float3 direction)> HardpointTransforms =
|
||||
new Dictionary<HardpointData, (float3 position, float3 direction)>();
|
||||
|
||||
public readonly (List<Weapon> weapons, List<EquippedItem> items)[] TriggerGroups;
|
||||
public (List<Weapon> weapons, List<EquippedItem> items)[] WeaponGroups;
|
||||
|
||||
public List<IPopulationAssignment> PopulationAssignments = new List<IPopulationAssignment>();
|
||||
|
||||
|
|
@ -160,7 +160,8 @@ public abstract class Entity
|
|||
{
|
||||
if (Target.Value == remove.Value) Target.Value = null;
|
||||
}));
|
||||
GenerateTriggerGroups();
|
||||
if(WeaponGroups.All(wg=>!wg.items.Any()))
|
||||
GenerateWeaponGroups();
|
||||
}
|
||||
|
||||
public virtual void Deactivate()
|
||||
|
|
@ -183,9 +184,9 @@ public abstract class Entity
|
|||
HullData = itemManager.GetData(hull) as HullData;
|
||||
Name = HullData.Name;
|
||||
MapEntity();
|
||||
TriggerGroups = new (List<Weapon> triggers, List<EquippedItem> items)[itemManager.GameplaySettings.TriggerGroupCount];
|
||||
for(int i=0; i<itemManager.GameplaySettings.TriggerGroupCount; i++)
|
||||
TriggerGroups[i] = (new List<Weapon>(), new List<EquippedItem>());
|
||||
WeaponGroups = new (List<Weapon> weapons, List<EquippedItem> items)[itemManager.GameplaySettings.WeaponGroupCount];
|
||||
for(int i=0; i<itemManager.GameplaySettings.WeaponGroupCount; i++)
|
||||
WeaponGroups[i] = (new List<Weapon>(), new List<EquippedItem>());
|
||||
|
||||
ItemDestroyed = ItemDamage.Where(x => x.item.EquippableItem.Durability < .01f).Select(x=>x.item);
|
||||
WeaponDestroyed = ItemDestroyed.Select(x => x.Behaviors.FirstOrDefault(b => b is Weapon) as Weapon).Where(x => x != null);
|
||||
|
|
@ -297,15 +298,15 @@ public abstract class Entity
|
|||
GearOccupancy = new EquippedItem[hullData.Shape.Width, hullData.Shape.Height];
|
||||
}
|
||||
|
||||
public void GenerateTriggerGroups()
|
||||
public void GenerateWeaponGroups()
|
||||
{
|
||||
foreach (var group in Weapons
|
||||
.GroupBy(w => w.Item.EquippableItem.Data.LinkID)
|
||||
.OrderBy(wg=>wg.Average(w=>w.Range))
|
||||
.Select((weapons, index) => (weapons, index)))
|
||||
{
|
||||
TriggerGroups[group.index].weapons = group.weapons.ToList();
|
||||
TriggerGroups[group.index].items = group.weapons.Select(w=>w.Item).ToList();
|
||||
WeaponGroups[group.index].weapons = group.weapons.ToList();
|
||||
WeaponGroups[group.index].items = group.weapons.Select(w=>w.Item).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@ public static class EntitySerializer
|
|||
if (entity is OrbitalEntity orbital)
|
||||
pack = new OrbitalEntityPack
|
||||
{
|
||||
Orbit = orbital.OrbitData
|
||||
Orbit = orbital.OrbitData,
|
||||
SecurityLevel = orbital.SecurityLevel,
|
||||
SecurityRadius = orbital.SecurityRadius
|
||||
};
|
||||
else if (entity is Ship ship)
|
||||
pack = new ShipPack
|
||||
|
|
@ -49,6 +51,7 @@ public static class EntitySerializer
|
|||
pack.Temperature = entity.Temperature;
|
||||
pack.Conductivity = entity.HullConductivity;
|
||||
pack.Children = entity.Children.Select(Pack).ToArray();
|
||||
pack.WeaponGroups = entity.WeaponGroups.Select(wg => wg.items.Select(item => entity.Equipment.IndexOf(item)).ToArray()).ToArray();
|
||||
return pack;
|
||||
}
|
||||
|
||||
|
|
@ -80,6 +83,8 @@ public static class EntitySerializer
|
|||
{
|
||||
var entity = new OrbitalEntity(itemManager, zone, instantiate ? (EquippableItem) itemManager.Instantiate(pack.Hull) : pack.Hull, pack.Orbit, pack.Settings);
|
||||
Restore(itemManager, zone, pack, entity, instantiate);
|
||||
entity.SecurityLevel = pack.SecurityLevel;
|
||||
entity.SecurityRadius = pack.SecurityRadius;
|
||||
return entity;
|
||||
}
|
||||
|
||||
|
|
@ -133,35 +138,37 @@ public static class EntitySerializer
|
|||
|
||||
foreach(var v in hullData.Shape.Coordinates)
|
||||
entity.HullConductivity[v.x,v.y] = pack.Conductivity[v.x,v.y];
|
||||
|
||||
entity.WeaponGroups = pack.WeaponGroups.Select(itemIndices =>
|
||||
{
|
||||
var items = itemIndices.Select(i => entity.Equipment[i]);
|
||||
return (items.Select(i => i.GetBehavior<Weapon>()).ToList(), items.ToList());
|
||||
}).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
[MessagePackObject]
|
||||
public class SavedStory
|
||||
{
|
||||
[Key(0)]
|
||||
public string StoryJson;
|
||||
|
||||
[Key(1)]
|
||||
public string StateJson;
|
||||
[Key(0)] public string StoryJson;
|
||||
[Key(1)] public string StateJson;
|
||||
}
|
||||
|
||||
[MessagePackObject]
|
||||
public class ShipPack : EntityPack
|
||||
{
|
||||
[Key(16)] public float3 Position;
|
||||
[Key(17)] public float2 Direction;
|
||||
[Key(18)] public bool IsPlayerShip;
|
||||
[Key(17)] public float3 Position;
|
||||
[Key(18)] public float2 Direction;
|
||||
[Key(19)] public bool IsPlayerShip;
|
||||
}
|
||||
|
||||
[MessagePackObject]
|
||||
public class OrbitalEntityPack : EntityPack
|
||||
{
|
||||
[Key(16)]
|
||||
public Guid Orbit;
|
||||
|
||||
[Key(17)]
|
||||
public SavedStory Story;
|
||||
[Key(17)] public Guid Orbit;
|
||||
[Key(18)] public SavedStory Story;
|
||||
[Key(19)] public SecurityLevel SecurityLevel;
|
||||
[Key(20)] public float SecurityRadius;
|
||||
}
|
||||
|
||||
[MessagePackObject,
|
||||
|
|
@ -169,50 +176,22 @@ public class OrbitalEntityPack : EntityPack
|
|||
Union(1, typeof(ShipPack))]
|
||||
public abstract class EntityPack
|
||||
{
|
||||
[Key(0)]
|
||||
public string Name;
|
||||
|
||||
[Key(1)]
|
||||
public EquippableItem Hull;
|
||||
|
||||
[Key(2)]
|
||||
public (int2 position, EquippableItem item)[] Equipment;
|
||||
|
||||
[Key(3)]
|
||||
public (int2 position, EquippableItem item)[] CargoBays;
|
||||
|
||||
[Key(4)]
|
||||
public (int2 position, EquippableItem item)[] DockingBays;
|
||||
|
||||
[Key(5)]
|
||||
public Dictionary<int2, PersistentBehaviorData[]> PersistedBehaviors;
|
||||
|
||||
[Key(6)]
|
||||
public float[,] Temperature;
|
||||
|
||||
[Key(7)]
|
||||
public float[,] Armor;
|
||||
|
||||
[Key(8)]
|
||||
public bool2[,] Conductivity;
|
||||
|
||||
[Key(10)]
|
||||
public int[] DockingBayAssignments;
|
||||
|
||||
[Key(11)]
|
||||
public (int2 position, ItemInstance item)[][] CargoContents;
|
||||
|
||||
[Key(12)]
|
||||
public (int2 position, ItemInstance item)[][] DockingBayContents;
|
||||
|
||||
[Key(13)]
|
||||
public EntityPack[] Children;
|
||||
|
||||
[Key(14)]
|
||||
public EntitySettings Settings;
|
||||
|
||||
[Key(15)]
|
||||
public Guid Faction;
|
||||
[Key(0)] public string Name;
|
||||
[Key(1)] public EquippableItem Hull;
|
||||
[Key(2)] public (int2 position, EquippableItem item)[] Equipment;
|
||||
[Key(3)] public (int2 position, EquippableItem item)[] CargoBays;
|
||||
[Key(4)] public (int2 position, EquippableItem item)[] DockingBays;
|
||||
[Key(5)] public Dictionary<int2, PersistentBehaviorData[]> PersistedBehaviors;
|
||||
[Key(6)] public float[,] Temperature;
|
||||
[Key(7)] public float[,] Armor;
|
||||
[Key(8)] public bool2[,] Conductivity;
|
||||
[Key(10)] public int[] DockingBayAssignments;
|
||||
[Key(11)] public (int2 position, ItemInstance item)[][] CargoContents;
|
||||
[Key(12)] public (int2 position, ItemInstance item)[][] DockingBayContents;
|
||||
[Key(13)] public EntityPack[] Children;
|
||||
[Key(14)] public EntitySettings Settings;
|
||||
[Key(15)] public Guid Faction;
|
||||
[Key(16)] public int[][] WeaponGroups;
|
||||
|
||||
private int _price;
|
||||
|
||||
|
|
|
|||
|
|
@ -165,6 +165,22 @@ public enum CompoundCommodityCategory
|
|||
Assemblies = 5
|
||||
}
|
||||
|
||||
public enum FactionRelationship
|
||||
{
|
||||
Hated = 0, // Kill on sight
|
||||
Hostile = 1, // Can enter open areas
|
||||
Neutral = 2, // Can dock in open areas, enter secure areas
|
||||
Friendly = 3, // Can dock in secure areas, enter critical areas
|
||||
Beloved = 4 // Cah dock even in critical areas
|
||||
}
|
||||
|
||||
public enum SecurityLevel
|
||||
{
|
||||
Open = 0,
|
||||
Secure = 1,
|
||||
Critical = 2
|
||||
}
|
||||
|
||||
public enum TemperatureUnit
|
||||
{
|
||||
Kelvin,
|
||||
|
|
|
|||
|
|
@ -55,16 +55,16 @@ public class LoadoutGenerator
|
|||
return EntitySerializer.Pack(entity);
|
||||
}
|
||||
|
||||
public EntityPack GenerateTurretLoadout()
|
||||
public OrbitalEntityPack GenerateTurretLoadout()
|
||||
{
|
||||
var hull = ItemManager.CreateInstance(RandomHull(HullType.Turret)) as EquippableItem;
|
||||
var entity = new OrbitalEntity(ItemManager, null, hull, Guid.Empty, ItemManager.GameplaySettings.DefaultEntitySettings);
|
||||
entity.Faction = Faction;
|
||||
OutfitEntity(entity);
|
||||
return EntitySerializer.Pack(entity);
|
||||
return EntitySerializer.Pack(entity) as OrbitalEntityPack;
|
||||
}
|
||||
|
||||
public EntityPack GenerateStationLoadout()
|
||||
public OrbitalEntityPack GenerateStationLoadout()
|
||||
{
|
||||
var hullData = RandomHull(HullType.Station);
|
||||
var hull = ItemManager.CreateInstance(hullData) as EquippableItem;
|
||||
|
|
@ -96,7 +96,7 @@ public class LoadoutGenerator
|
|||
cargo.TryStore(instance);
|
||||
}
|
||||
|
||||
return EntitySerializer.Pack(entity);
|
||||
return EntitySerializer.Pack(entity) as OrbitalEntityPack;
|
||||
}
|
||||
|
||||
public HullData RandomHull(HullType type, Predicate<HullData> hullFilter = null)
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ using float2 = Unity.Mathematics.float2;
|
|||
public class OrbitalEntity : Entity
|
||||
{
|
||||
public Guid OrbitData;
|
||||
public SecurityLevel SecurityLevel;
|
||||
public float SecurityRadius;
|
||||
|
||||
public OrbitalEntity(ItemManager itemManager, Zone zone, EquippableItem hull, Guid orbit, EntitySettings settings) : base(itemManager, zone, hull, settings)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ public class SavedGame
|
|||
|
||||
[Key(11)]
|
||||
public bool IsTutorial;
|
||||
|
||||
[Key(12)]
|
||||
public FactionRelationship[] Relationships;
|
||||
|
||||
public SavedGame() { }
|
||||
|
||||
|
|
@ -51,6 +54,7 @@ public class SavedGame
|
|||
DiscoveredZones = sector.DiscoveredZones.Select(dz => Array.IndexOf(sector.Zones, dz)).ToArray();
|
||||
Background = sector.Background;
|
||||
Factions = sector.HomeZones.Keys.Select(f => f.ID).ToArray();
|
||||
Relationships = sector.Factions.Select(f => sector.FactionRelationships[f]).ToArray();
|
||||
|
||||
HomeZones = sector.HomeZones.ToDictionary(
|
||||
x => Array.IndexOf(Factions, x.Key.ID),
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ public class Sector
|
|||
public SectorZone[] Zones { get; }
|
||||
public SectorZone Entrance { get; }
|
||||
public SectorZone Exit { get; }
|
||||
public Dictionary<Faction, FactionRelationship> FactionRelationships { get; } = new Dictionary<Faction, FactionRelationship>();
|
||||
|
||||
private HashSet<Guid> _containedFactions;
|
||||
private SectorZone[] _exitPath;
|
||||
|
|
@ -42,7 +43,13 @@ public class Sector
|
|||
public Sector(CultCache cultCache, SavedGame savedGame)
|
||||
{
|
||||
Background = savedGame.Background;
|
||||
|
||||
Factions = savedGame.Factions.Select(cultCache.Get<Faction>).ToArray();
|
||||
for (var i = 0; i < Factions.Length; i++)
|
||||
{
|
||||
FactionRelationships[Factions[i]] = savedGame.Relationships[i];
|
||||
}
|
||||
|
||||
Zones = savedGame.Zones.Select(zone =>
|
||||
{
|
||||
return new SectorZone
|
||||
|
|
@ -87,6 +94,7 @@ public class Sector
|
|||
var factions = cache.GetAll<Faction>();
|
||||
var random = new Random(seed == 0 ? (uint) (DateTime.Now.Ticks % uint.MaxValue) : seed);
|
||||
Factions = factions.OrderBy(x => random.NextFloat()).Take(settings.MegaCount).ToArray();
|
||||
foreach (var f in Factions) FactionRelationships[f] = FactionRelationship.Neutral;
|
||||
|
||||
Zones = GenerateZones(settings.ZoneCount, ref random, progressCallback);
|
||||
|
||||
|
|
@ -148,7 +156,11 @@ public class Sector
|
|||
factions.AddRange(neutralFactions);
|
||||
|
||||
Factions = factions.ToArray();
|
||||
foreach (var faction in Factions) faction.InfluenceDistance = (faction.InfluenceDistance + 1) / 2;
|
||||
foreach (var faction in Factions)
|
||||
{
|
||||
FactionRelationships[faction] = FactionRelationship.Neutral;
|
||||
faction.InfluenceDistance = (faction.InfluenceDistance + 1) / 2;
|
||||
}
|
||||
|
||||
Zones = GenerateZones(settings.ZoneCount, ref random, progressCallback);
|
||||
|
||||
|
|
@ -186,8 +198,13 @@ public class Sector
|
|||
|
||||
var potentialQuestZones = Zones
|
||||
.Where(z => z.Factions.Contains(antagonistFaction) && z.Factions.Contains(bufferFaction));
|
||||
HomeZones[questFaction] = potentialQuestZones
|
||||
.MaxBy(z=>z.Distance[HomeZones[antagonistFaction]] * ConnectedRegion(z, questFaction.InfluenceDistance).Count);
|
||||
if (potentialQuestZones.Any())
|
||||
HomeZones[questFaction] = potentialQuestZones
|
||||
.MaxBy(z => z.Distance[HomeZones[antagonistFaction]] * ConnectedRegion(z, questFaction.InfluenceDistance).Count);
|
||||
else
|
||||
HomeZones[questFaction] = Zones
|
||||
.Where(z => z.Factions.Contains(antagonistFaction))
|
||||
.MinBy(z=>z.Distance[HomeZones[bufferFaction]]);
|
||||
|
||||
CalculateFactionInfluence(progressCallback);
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ public class GameplaySettings
|
|||
public float WormholeExitCurveStart = .8f;
|
||||
public float ThermalWearExponent = .01f;
|
||||
public float QualityWearExponent = 2;
|
||||
public int TriggerGroupCount = 6;
|
||||
public int WeaponGroupCount = 6;
|
||||
public float WarpDistance = 25;
|
||||
public float DockingDistance = 25;
|
||||
public float ProductionPersonalityLerp = .05f;
|
||||
|
|
|
|||
|
|
@ -225,20 +225,73 @@ public static class ZoneGenerator
|
|||
var nearestFaction = sector.Factions.MinBy(f => sector.HomeZones[f].Distance[sectorZone]);
|
||||
var nearestFactionHomeZone = sector.HomeZones[nearestFaction];
|
||||
var factionPresence = nearestFaction.InfluenceDistance - nearestFactionHomeZone.Distance[sectorZone] + 1;
|
||||
|
||||
var stationCount = (int)(random.NextFloat() * (factionPresence + 1));
|
||||
var potentialLagrangePoints = planets
|
||||
.Where(p => p.Parent != null && p.Parent.Children
|
||||
.TrueForAll(c => !(c != p && abs(c.Distance - p.Distance) < .1f))) // Filter Rosettes
|
||||
.OrderBy(p => p.Distance)
|
||||
.ToArray();
|
||||
// Pick a selection from the middle of the distribution
|
||||
var selectedStationOrbits = potentialLagrangePoints
|
||||
.Skip(potentialLagrangePoints.Length / 2)
|
||||
.Take(stationCount)
|
||||
.Select(p=>orbitMap[p])
|
||||
.ToArray();
|
||||
|
||||
var loadoutGenerator = isTutorial ? new LoadoutGenerator(ref random, itemManager, nearestFaction, .5f) :
|
||||
new LoadoutGenerator(ref random, itemManager, sector, sectorZone, nearestFaction, .5f);
|
||||
for (int i = 0; i < factionPresence; i++)
|
||||
|
||||
foreach (var orbit in selectedStationOrbits)
|
||||
{
|
||||
var security = (SecurityLevel) ((int) ((1f - pow(random.NextFloat(), factionPresence / 2f)) * 3f));
|
||||
var lagrangeOrbit = new OrbitData
|
||||
{
|
||||
ID = Guid.NewGuid(),
|
||||
Parent = orbit.Parent,
|
||||
Distance = new ReactiveProperty<float>(orbit.Distance.Value),
|
||||
Phase = orbit.Phase + PI / 3 * sign(random.NextFloat() - .5f)
|
||||
};
|
||||
pack.Orbits.Add(lagrangeOrbit);
|
||||
|
||||
var station = loadoutGenerator.GenerateStationLoadout();
|
||||
station.Orbit = lagrangeOrbit.ID;
|
||||
station.SecurityLevel = security;
|
||||
station.SecurityRadius = pack.Radius * .75f;
|
||||
pack.Entities.Add(station);
|
||||
|
||||
var turretPhase = 20f / lagrangeOrbit.Distance.Value;
|
||||
|
||||
var leadingTurretOrbit = new OrbitData
|
||||
{
|
||||
ID = Guid.NewGuid(),
|
||||
Parent = orbit.Parent,
|
||||
Distance = new ReactiveProperty<float>(orbit.Distance.Value),
|
||||
Phase = lagrangeOrbit.Phase + turretPhase
|
||||
};
|
||||
pack.Orbits.Add(leadingTurretOrbit);
|
||||
var leadingTurret = loadoutGenerator.GenerateTurretLoadout();
|
||||
leadingTurret.Orbit = leadingTurretOrbit.ID;
|
||||
pack.Entities.Add(leadingTurret);
|
||||
|
||||
var trailingTurretOrbit = new OrbitData
|
||||
{
|
||||
ID = Guid.NewGuid(),
|
||||
Parent = orbit.Parent,
|
||||
Distance = new ReactiveProperty<float>(orbit.Distance.Value),
|
||||
Phase = lagrangeOrbit.Phase - turretPhase
|
||||
};
|
||||
pack.Orbits.Add(trailingTurretOrbit);
|
||||
var trailingTurret = loadoutGenerator.GenerateTurretLoadout();
|
||||
trailingTurret.Orbit = trailingTurretOrbit.ID;
|
||||
pack.Entities.Add(trailingTurret);
|
||||
}
|
||||
|
||||
var enemyCount = (int)(random.NextFloat() * factionPresence * 2) + stationCount;
|
||||
for (int i = 0; i < enemyCount; i++)
|
||||
{
|
||||
pack.Entities.Add(loadoutGenerator.GenerateShipLoadout());
|
||||
}
|
||||
|
||||
var replacePlanet = pack.Planets.MinBy(p => p.Mass.Value);
|
||||
pack.Planets.Remove(replacePlanet);
|
||||
var stationOrbit = replacePlanet.Orbit;
|
||||
var station = loadoutGenerator.GenerateStationLoadout();
|
||||
((OrbitalEntityPack) station).Orbit = stationOrbit;
|
||||
pack.Entities.Add(station);
|
||||
|
||||
return pack;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,11 @@ public class MapRenderer : MonoBehaviour
|
|||
public Camera MapOverlayCamera;
|
||||
public Camera GravityCamera;
|
||||
public Camera TintCamera;
|
||||
public Camera InfluenceCamera;
|
||||
public Image OverlayDisplay;
|
||||
public Image GravityDisplay;
|
||||
public Image TintDisplay;
|
||||
public Image InfluenceDisplay;
|
||||
public float Scale;
|
||||
public float2 Position;
|
||||
|
||||
|
|
@ -29,6 +31,7 @@ public class MapRenderer : MonoBehaviour
|
|||
private RenderTexture _mapTexture;
|
||||
private RenderTexture _gravityTexture;
|
||||
private RenderTexture _tintTexture;
|
||||
private RenderTexture _influenceTexture;
|
||||
private int2 _size;
|
||||
private bool _init;
|
||||
|
||||
|
|
@ -43,6 +46,7 @@ public class MapRenderer : MonoBehaviour
|
|||
MapOverlayCamera.gameObject.SetActive(true);
|
||||
GravityCamera.gameObject.SetActive(true);
|
||||
TintCamera.gameObject.SetActive(true);
|
||||
InfluenceCamera.gameObject.SetActive(true);
|
||||
Title.text = $"Zone: {GameManager.Zone.SectorZone.Name}";
|
||||
}
|
||||
|
||||
|
|
@ -50,16 +54,24 @@ public class MapRenderer : MonoBehaviour
|
|||
{
|
||||
if (_mapTexture != null)
|
||||
{
|
||||
_mapTexture.Release();
|
||||
_mapTexture = null;
|
||||
_gravityTexture.Release();
|
||||
_gravityTexture = null;
|
||||
_tintTexture.Release();
|
||||
_tintTexture = null;
|
||||
ReleaseTextures();
|
||||
}
|
||||
MapOverlayCamera.gameObject.SetActive(false);
|
||||
GravityCamera.gameObject.SetActive(false);
|
||||
TintCamera.gameObject.SetActive(false);
|
||||
InfluenceCamera.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
void ReleaseTextures()
|
||||
{
|
||||
_mapTexture.Release();
|
||||
_mapTexture = null;
|
||||
_gravityTexture.Release();
|
||||
_gravityTexture = null;
|
||||
_tintTexture.Release();
|
||||
_tintTexture = null;
|
||||
_influenceTexture.Release();
|
||||
_influenceTexture = null;
|
||||
}
|
||||
|
||||
void LateUpdate()
|
||||
|
|
@ -71,22 +83,24 @@ public class MapRenderer : MonoBehaviour
|
|||
_size = size;
|
||||
if (_mapTexture != null)
|
||||
{
|
||||
_mapTexture.Release();
|
||||
_mapTexture = null;
|
||||
_gravityTexture.Release();
|
||||
_gravityTexture = null;
|
||||
_tintTexture.Release();
|
||||
_tintTexture = null;
|
||||
ReleaseTextures();
|
||||
}
|
||||
|
||||
_mapTexture = new RenderTexture(_size.x, _size.y, 0, RenderTextureFormat.Default);
|
||||
MapOverlayCamera.targetTexture = _mapTexture;
|
||||
OverlayDisplay.material.SetTexture("_DetailTex", _mapTexture);
|
||||
|
||||
_gravityTexture = new RenderTexture(_size.x, _size.y, 0, RenderTextureFormat.RFloat);
|
||||
GravityCamera.targetTexture = _gravityTexture;
|
||||
GravityDisplay.material.SetTexture("_DetailTex", _gravityTexture);
|
||||
|
||||
_tintTexture = new RenderTexture(_size.x / 2, _size.y / 2, 0, RenderTextureFormat.RGB111110Float);
|
||||
TintCamera.targetTexture = _tintTexture;
|
||||
TintDisplay.material.SetTexture("_DetailTex", _tintTexture);
|
||||
|
||||
_influenceTexture = new RenderTexture(_size.x, _size.y, 0, RenderTextureFormat.RFloat);
|
||||
InfluenceCamera.targetTexture = _influenceTexture;
|
||||
InfluenceDisplay.material.SetTexture("_DetailTex", _influenceTexture);
|
||||
}
|
||||
|
||||
var pos = ((Vector2) Position).Flatland(1);
|
||||
|
|
@ -100,5 +114,8 @@ public class MapRenderer : MonoBehaviour
|
|||
|
||||
TintCamera.transform.position = pos;
|
||||
TintCamera.orthographicSize = _size.y * Scale * .5f;
|
||||
|
||||
InfluenceCamera.transform.position = pos;
|
||||
InfluenceCamera.orthographicSize = _size.y * Scale * .5f;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@ public class WeaponGroupAssignment : MonoBehaviour
|
|||
{
|
||||
var weapon = item.GetBehavior<Weapon>();
|
||||
if (weapon == null) throw new ArgumentException($"Attempted to inspect weapon groups on item \"{item.Data.Name}\" but no weapon is present!");
|
||||
var groupCount = ActionGameManager.Instance.Settings.GameplaySettings.TriggerGroupCount;
|
||||
var groupCount = ActionGameManager.Instance.Settings.GameplaySettings.WeaponGroupCount;
|
||||
for (int i = 0; i < groupCount; i++)
|
||||
{
|
||||
var i1 = i;
|
||||
bool groupContainsItem() => item.Entity.TriggerGroups[i1].items.Contains(item);
|
||||
bool groupContainsItem() => item.Entity.WeaponGroups[i1].items.Contains(item);
|
||||
var group = Instantiate(GroupPrefab, Container);
|
||||
Groups.Add(group);
|
||||
group.Label.text = $"G{i+1}";
|
||||
|
|
@ -35,14 +35,14 @@ public class WeaponGroupAssignment : MonoBehaviour
|
|||
{
|
||||
if (groupContainsItem())
|
||||
{
|
||||
item.Entity.TriggerGroups[i1].items.Remove(item);
|
||||
item.Entity.TriggerGroups[i1].weapons.Remove(weapon);
|
||||
item.Entity.WeaponGroups[i1].items.Remove(item);
|
||||
item.Entity.WeaponGroups[i1].weapons.Remove(weapon);
|
||||
group.Label.color = InactiveColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.Entity.TriggerGroups[i1].items.Add(item);
|
||||
item.Entity.TriggerGroups[i1].weapons.Add(weapon);
|
||||
item.Entity.WeaponGroups[i1].items.Add(item);
|
||||
item.Entity.WeaponGroups[i1].weapons.Add(weapon);
|
||||
group.Label.color = ActiveColor;
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -13,20 +13,16 @@ public class BlueNoiseProvider : MonoBehaviour
|
|||
{
|
||||
public Texture2D NoiseTexture;
|
||||
|
||||
private Camera _camera;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_camera = Camera.main;
|
||||
|
||||
Shader.SetGlobalTexture("_DitheringTex", NoiseTexture);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
Shader.SetGlobalVector("_DitheringCoords", new Vector4(
|
||||
(float)_camera.scaledPixelWidth / (float)NoiseTexture.width,
|
||||
(float)_camera.scaledPixelHeight / (float)NoiseTexture.height,
|
||||
(float)Screen.width / NoiseTexture.width,
|
||||
(float)Screen.height / NoiseTexture.height,
|
||||
Random.value,
|
||||
Random.value
|
||||
));
|
||||
|
|
|
|||
|
|
@ -127,6 +127,7 @@ void UpdateParticles(uint3 id : SV_DispatchThreadID, int3 groupID : SV_GroupThre
|
|||
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;
|
||||
particles[id.x].position.y = lerp(-gravDepth + floorHeight, ceilingHeight, pow(RandomValue(), heightExponent/(ceilingHeight+gravDepth))) + perlinNoise1D(RandomValue()*1024+time)*spacing/2;
|
||||
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());
|
||||
}
|
||||
|
|
@ -61,7 +61,7 @@ Material:
|
|||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DstBlend: 0
|
||||
- _EmissionGain: 0.5
|
||||
- _EmissionGain: 0.438
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
|
|
@ -69,7 +69,7 @@ Material:
|
|||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _Power: 16
|
||||
- _Power: 2
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue